the following patch was just integrated into master: commit 8519ed434a743f7706c1644dba48bdbd90e0245c Author: Marc Jones marc.jones@se-eng.com Date: Thu Mar 1 16:12:11 2012 -0700
Make libpayload alloc() memory pointers volatile
gcc4.6.2 was optimizing the libpayload alloc() function and failing to reload a pointer after the memory had been manipulated by a pointer in the inlined function setup(). Change the pointer type to volatile and now pass it to the setup() function. Also clean up the declaration so that it isn't cast a bunch times in the function.
Change-Id: I1637bd7bd5d9cf82ac88925cbfe76d319aa3cd82 Signed-off-by: Marc Jones marc.jones@se-eng.com
Reviewed-By: Patrick Georgi patrick@georgi-clan.de at Sat Mar 10 14:19:42 2012, giving +2 See http://review.coreboot.org/705 for details.
-gerrit