Am 01.02.2010 13:28, schrieb Patrick Georgi:
> So there really is some difference at least in the ram stages of
> fallback and normal. For closer analysis, I'd need the files' content.
Knut, thank you for sending me the files off-list.
For some reason, there are differences in the memory map for those two
builds.
h8dmr:
Program Header:
LOAD off 0x00001000 vaddr 0x00200000 paddr 0x00200000 align 2**12
filesz 0x0002e130 memsz 0x00030b3c flags rwx
LOAD off 0x00030000 vaddr 0x00240000 paddr 0x00240000 align 2**12
filesz 0x00000000 memsz 0x00018000 flags rw-
STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
filesz 0x00000000 memsz 0x00000000 flags rwx
h8qme:
Program Header:
LOAD off 0x00001000 vaddr 0x00200000 paddr 0x00200000 align 2**12
filesz 0x0002d560 memsz 0x00048000 flags rwx
STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
filesz 0x00000000 memsz 0x00000000 flags rwx
So h8dmr zeroes out a larger chunk of memory - up to 0x258000, while the
h8qme build only loads data up to 0x248000.
I have absolutely no idea what makes the compiler behave that way on two
practically identical builds, but I have seen that you use the
distribution's compiler - we have no control over the changes they add,
so we created crossgcc at some point.
Maybe it helps to try to build with crossgcc (you can find that in
util/crossgcc in your coreboot tree)
Regards,
Patrick