From mboxrd@z Thu Jan 1 00:00:00 1970 From: Albert ARIBAUD Date: Tue, 30 Nov 2010 10:02:45 +0100 Subject: [U-Boot] [PATCH RFC 3/3] arm920t: do not relocate NULL pointer In-Reply-To: References: <1291100800-61850-1-git-send-email-andreas.devel@googlemail.com> <1291100800-61850-4-git-send-email-andreas.devel@googlemail.com> <4CF4B6A1.7090509@aribaud.net> Message-ID: <4CF4BDB5.5000604@aribaud.net> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 >> >>> + 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.