Browse Source

pc-bios/s390-ccw: avoid floating point operations

Some gcc versions (e.g. Fedora 22 gcc 5.1.1) seem to use floating
point registers for spilling and filling of general purpose registers.
As the BIOS does not activate the AFP register setting of CR0 this can
cause data exception program checks.
Disallow floating point in the BIOS as a simple solution.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Message-Id: <1443689387-34473-2-git-send-email-jfrei@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Christian Borntraeger 10 năm trước cách đây
mục cha
commit
af3c15fee5
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      pc-bios/s390-ccw/Makefile

+ 2 - 1
pc-bios/s390-ccw/Makefile

@@ -10,7 +10,8 @@ $(call set-vpath, $(SRC_PATH)/pc-bios/s390-ccw)
 .PHONY : all clean build-all
 .PHONY : all clean build-all
 
 
 OBJECTS = start.o main.o bootmap.o sclp-ascii.o virtio.o
 OBJECTS = start.o main.o bootmap.o sclp-ascii.o virtio.o
-CFLAGS += -fPIE -fno-stack-protector -ffreestanding -fno-delete-null-pointer-checks
+CFLAGS += -fPIE -fno-stack-protector -ffreestanding
+CFLAGS += -fno-delete-null-pointer-checks -msoft-float
 LDFLAGS += -Wl,-pie -nostdlib
 LDFLAGS += -Wl,-pie -nostdlib
 
 
 build-all: s390-ccw.img
 build-all: s390-ccw.img