On Wed, 2008-12-03 at 11:20 -0500, Pavel Roskin wrote: > r1923 has no "out of memory" problem. r1924 doesn't compile.
I think I understand something now. "out of memory" is caused by heap_init() inside grub_claim_heap() failing due to memory overlap (by the way, I hate functions inside functions). In r1923: _start=0x10000 _end=0x23640 addr=0x200000 (addr + len)=0x3fffff In r1933: _start=0x200000 _end=0x213658 addr=0x200000 (addr + len)=0x3fffff Thus, we have an overlap. This is caused by r1928. Changing the link address in conf/powerpc-ieee1275.rmk from 0x200000 to 0x100000 makes _start equal 0x100000 and resolves the "out of memory" problem. The "addr" variable comes from HEAP_MIN_SIZE, and it's also 0x200000. I'm testing PowerPC code in qemu, which doesn't provide the memory information, so the problem may not exist on real machines. If linking at 0x200000 is important, we could allocate heap after _end. -- Regards, Pavel Roskin _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel