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

Reply via email to