diff mbox

s390/bios: build with -fdelete-null-pointer-checks

Message ID 1434363843-14576-1-git-send-email-aurelien@aurel32.net
State New
Headers show

Commit Message

Aurelien Jarno June 15, 2015, 10:24 a.m. UTC
Starting with version 4.9, GCC assumes it can't safely dereference null
pointers, and uses this for some optimizations. On s390, the lowcore
memory is located at address 0, so this assumption is wrong and breaks
the s390-ccw firmware. Pass -fdelete-null-pointer-checks to avoid that.

Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Alexander Graf <agraf@suse.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
 pc-bios/s390-ccw/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Christian Borntraeger June 15, 2015, 10:54 a.m. UTC | #1
Am 15.06.2015 um 12:24 schrieb Aurelien Jarno:
> Starting with version 4.9, GCC assumes it can't safely dereference null
> pointers, and uses this for some optimizations. On s390, the lowcore
> memory is located at address 0, so this assumption is wrong and breaks
> the s390-ccw firmware. Pass -fdelete-null-pointer-checks to avoid that.
> 
> Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
> Cc: Christian Borntraeger <borntraeger@de.ibm.com>
> Cc: Alexander Graf <agraf@suse.de>
> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
> ---
>  pc-bios/s390-ccw/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
> index 009bb8d..746603a 100644
> --- a/pc-bios/s390-ccw/Makefile
> +++ b/pc-bios/s390-ccw/Makefile
> @@ -10,7 +10,7 @@ $(call set-vpath, $(SRC_PATH)/pc-bios/s390-ccw)
>  .PHONY : all clean build-all
> 
>  OBJECTS = start.o main.o bootmap.o sclp-ascii.o virtio.o
> -CFLAGS += -fPIE -fno-stack-protector -ffreestanding
> +CFLAGS += -fPIE -fno-stack-protector -ffreestanding -fno-delete-null-pointer-checks
>  LDFLAGS += -Wl,-pie -nostdlib
> 
>  build-all: s390-ccw.img
> 

applied thanks.
diff mbox

Patch

diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
index 009bb8d..746603a 100644
--- a/pc-bios/s390-ccw/Makefile
+++ b/pc-bios/s390-ccw/Makefile
@@ -10,7 +10,7 @@  $(call set-vpath, $(SRC_PATH)/pc-bios/s390-ccw)
 .PHONY : all clean build-all
 
 OBJECTS = start.o main.o bootmap.o sclp-ascii.o virtio.o
-CFLAGS += -fPIE -fno-stack-protector -ffreestanding
+CFLAGS += -fPIE -fno-stack-protector -ffreestanding -fno-delete-null-pointer-checks
 LDFLAGS += -Wl,-pie -nostdlib
 
 build-all: s390-ccw.img