Provide a gcc-safe zero pointer

zeroptr is a linker object pointing at 0 that can be used to thwart
GCC's (and other compilers') "dereferencing NULL is undefined"
optimization strategy when it gets in the way.

Change-Id: I6aa6f28283281ebae73d6349811e290bf1b99483
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: https://review.coreboot.org/12294
Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com>
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
Patrick Georgi
2016-01-27 08:18:16 +01:00
committed by Martin Roth
parent cc728f0284
commit ff8076d75a
2 changed files with 12 additions and 0 deletions

View File

@ -133,6 +133,10 @@ _eprogram = .;
/* Discard the sections we don't need/want */
.zeroptr 0 (NOLOAD) : {
zeroptr = .;
}
/DISCARD/ : {
*(.comment)
*(.comment.*)