Le 30/11/2010 09:47, Joakim Tjernlund a écrit : >> >> Le 30/11/2010 08:06, Andreas Bießmann a écrit : >>> Signed-off-by: Andreas Bießmann<andreas.de...@googlemail.com> >> >>> + cmp r1, #0 /* symbol == NULL ? */ >>> + beq fixnext >> >> Nak. Don't hide a null pointer. NULL pointers are *not* relocated, since >> they are a constant. If a NULL ends up in relocation tables, that is >> because of a corruption *or* because it was to be relocated, and should >> thus never be ignored. > > Depends, if the same routine is used for relocating fixups you need > this test. Undefined weaks will generate a NULL fixup entry.
Understood. Weren't there an effort to not use weak symbols any more? If not, then a comment *must* be added to indicate that weak symbols can cause zero-filled reloc entries (I would suggest saying 'zero-filled' rather than 'NULL', because obviously readers will think of stdio's NULL). We could possibly even send out a diagnostic message, but that'll be when the relocation code is turned to C language; I don't want to see asm code that calls printf. > Jocke Amicalement, -- Albert. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot