File xen.672949d6c61d9cba01c5b414eed9d522082f04d3.patch of Package xen
From: Olaf Hering <olaf@aepfle.de>
Date: Mon, 26 Jun 2017 14:55:07 +0200
Subject: 672949d6c61d9cba01c5b414eed9d522082f04d3
rombios: prevent building with PIC/PIE
If the default compiler silently defaults to to -fPIC/-fPIE building
rombios fails:
ld -melf_i386 -s -r 32bitbios.o tcgbios/tcgbiosext.o util.o pmm.o -o 32bitbios_all.o
There are undefined symbols in the BIOS:
U _GLOBAL_OFFSET_TABLE_
make[10]: *** [Makefile:26: 32bitbios_all.o] Error 11
Prevent the failure by enforcing non-PIC/PIE mode.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
tools/firmware/rombios/32bit/Makefile | 2 ++
tools/firmware/rombios/32bit/tcgbios/Makefile | 2 ++
2 files changed, 4 insertions(+)
--- a/tools/firmware/rombios/32bit/Makefile
+++ b/tools/firmware/rombios/32bit/Makefile
@@ -4,6 +4,8 @@ include $(XEN_ROOT)/tools/firmware/Rules.mk
TARGET = 32bitbios_flat.h
CFLAGS += $(CFLAGS_xeninclude) -I..
+$(call cc-option-add,CFLAGS,CC,-fno-pic)
+$(call cc-option-add,CFLAGS,CC,-fno-PIE)
SUBDIRS = tcgbios
--- a/tools/firmware/rombios/32bit/tcgbios/Makefile
+++ b/tools/firmware/rombios/32bit/tcgbios/Makefile
@@ -4,6 +4,8 @@ include $(XEN_ROOT)/tools/firmware/Rules.mk
TARGET = tcgbiosext.o
CFLAGS += $(CFLAGS_xeninclude) -I.. -I../..
+$(call cc-option-add,CFLAGS,CC,-fno-pic)
+$(call cc-option-add,CFLAGS,CC,-fno-PIE)
.PHONY: all
all: $(TARGET)