summaryrefslogtreecommitdiffstats
path: root/pc-bios/s390-ccw/Makefile
diff options
context:
space:
mode:
authorThomas Huth2015-03-09 11:12:53 +0100
committerChristian Borntraeger2015-03-11 11:15:38 +0100
commitd884c86dcd3b64406cf5ce2373374cee6b475ecb (patch)
tree157dee1ffecb73fc6ac1fadba95a4e23df3800df /pc-bios/s390-ccw/Makefile
parentelf-loader: Provide the possibility to relocate s390 ELF files (diff)
downloadqemu-d884c86dcd3b64406cf5ce2373374cee6b475ecb.tar.gz
qemu-d884c86dcd3b64406cf5ce2373374cee6b475ecb.tar.xz
qemu-d884c86dcd3b64406cf5ce2373374cee6b475ecb.zip
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/s390-ccw/Makefile')
-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 ad55a14a14..009bb8de1c 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 *~