aboutsummaryrefslogtreecommitdiff
path: root/pc-bios
diff options
context:
space:
mode:
authorThomas Huth <thuth@linux.vnet.ibm.com>2015-03-09 11:12:53 +0100
committerChristian Borntraeger <borntraeger@de.ibm.com>2015-03-11 11:15:38 +0100
commitd884c86dcd3b64406cf5ce2373374cee6b475ecb (patch)
tree157dee1ffecb73fc6ac1fadba95a4e23df3800df /pc-bios
parent5dce07e1cb67aab265b16e39b0b9d812199a4d22 (diff)
downloadqemu-d884c86dcd3b64406cf5ce2373374cee6b475ecb.zip
qemu-d884c86dcd3b64406cf5ce2373374cee6b475ecb.tar.gz
qemu-d884c86dcd3b64406cf5ce2373374cee6b475ecb.tar.bz2
s390/bios: Make the s390-ccw.img relocatable
The current bios sits at location 0x7e00000 in the guest RAM and thus prevents loading of bigger ramdisks. By making the image relocatable we can move it to the end of the RAM so that it is getting out of the way. Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com> Message-Id: <1425895973-15239-3-git-send-email-thuth@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> [Fixup build failure on 32 bit hosts]
Diffstat (limited to 'pc-bios')
-rw-r--r--pc-bios/s390-ccw/Makefile11
1 files changed, 6 insertions, 5 deletions
diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
index ad55a14..009bb8d 100644
--- a/pc-bios/s390-ccw/Makefile
+++ b/pc-bios/s390-ccw/Makefile
@@ -9,10 +9,9 @@ $(call set-vpath, $(SRC_PATH)/pc-bios/s390-ccw)
.PHONY : all clean build-all
-OBJECTS=main.o bootmap.o sclp-ascii.o virtio.o start.o
-CFLAGS += -fno-stack-protector
-# XXX find a more clever to locate the bootloader
-LDFLAGS += -Wl,-Ttext,0x7e00000,-Tbss,0x7f00000 -nostdlib
+OBJECTS = start.o main.o bootmap.o sclp-ascii.o virtio.o
+CFLAGS += -fPIE -fno-stack-protector -ffreestanding
+LDFLAGS += -Wl,-pie -nostdlib
build-all: s390-ccw.img
@@ -20,7 +19,9 @@ s390-ccw.elf: $(OBJECTS)
$(call quiet-command,$(CC) $(LDFLAGS) -o $@ $(OBJECTS)," Building $(TARGET_DIR)$@")
s390-ccw.img: s390-ccw.elf
- $(call quiet-command,strip $< -o $@," Stripping $(TARGET_DIR)$@")
+ $(call quiet-command,strip --strip-unneeded $< -o $@," Stripping $(TARGET_DIR)$@")
+
+$(OBJECTS): Makefile
clean:
rm -f *.o *.d *.img *.elf *~