ipxe: fix build with uprev to the latest git revision

Newer version allows for a simpler version of the cross-compile patch,
which is updated in this change.

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
Christopher Clark 2020-02-25 16:15:46 -08:00 committed by Bruce Ashfield
parent 643058d5a5
commit 5ce7eb1f13
2 changed files with 7 additions and 53 deletions

View File

@ -1,34 +1,17 @@
Fix detection of host compiler "no-pie"/"nopie" and link flags.
Detection of the "no-pie" vs "nopie" flag needs to be performed for both
the host and target compilers; cannot assume that one works for the other.
Use EXTRA_HOST_CFLAGS and EXTRA_HOST_LDFLAGS variables for passing
host tool parameters if required. Removes previous hardcoded "-O2 -g".
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
diff --git a/Makefile.housekeeping b/Makefile.housekeeping
index f833492..5451c39 100644
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
index 1dd1479..13f44dd 100644
--- a/Makefile.housekeeping
+++ b/Makefile.housekeeping
@@ -133,6 +133,7 @@ eval :
WORKAROUND_CFLAGS :=
WORKAROUND_ASFLAGS :=
WORKAROUND_LDFLAGS :=
+WORKAROUND_HOST_CFLAGS :=
# Make syntax does not allow use of comma or space in certain places.
# This ugly workaround is suggested in the manual.
@@ -445,7 +446,7 @@ endif
@@ -454,7 +454,7 @@ endif
CFLAGS += $(WORKAROUND_CFLAGS) $(EXTRA_CFLAGS)
ASFLAGS += $(WORKAROUND_ASFLAGS) $(EXTRA_ASFLAGS)
LDFLAGS += $(WORKAROUND_LDFLAGS) $(EXTRA_LDFLAGS)
-HOST_CFLAGS += $(WORKAROUND_CFLAGS) -O2 -g
+HOST_CFLAGS += $(WORKAROUND_HOST_CFLAGS) $(EXTRA_HOST_CFLAGS)
-HOST_CFLAGS += -O2 -g
+HOST_CFLAGS += -O2 -g $(EXTRA_HOST_CFLAGS)
# Inhibit -Werror if NO_WERROR is specified on make command line
#
@@ -1375,7 +1376,7 @@ endif # defined(BIN)
@@ -1379,7 +1379,7 @@ endif # defined(BIN)
# The compression utilities
#
@ -37,32 +20,3 @@ index f833492..5451c39 100644
$(ZBIN) : util/zbin.c $(MAKEDEPS)
$(QM)$(ECHO) " [HOSTCC] $@"
diff --git a/arch/i386/Makefile b/arch/i386/Makefile
index b7c2792..4a637ad 100644
--- a/arch/i386/Makefile
+++ b/arch/i386/Makefile
@@ -78,11 +78,20 @@ CFLAGS += -Ui386
# -nopie. We therefore test for both.
#
ifeq ($(CCTYPE),gcc)
-PIE_TEST = [ -z "`$(CC) -fno-PIE -no-pie -x c -c /dev/null -o /dev/null 2>&1`" ]
-PIE_FLAGS := $(shell $(PIE_TEST) && $(ECHO) '-fno-PIE -no-pie')
-PIE_TEST2 = [ -z "`$(CC) -fno-PIE -nopie -x c -c /dev/null -o /dev/null 2>&1`" ]
+PIE_TEST1_FLAGS = "-fno-PIE -no-pie -x c -c /dev/null -o /dev/null 2>&1"
+PIE_TEST2_FLAGS = "-fno-PIE -nopie -x c -c /dev/null -o /dev/null 2>&1"
+
+PIE_TEST1 = [ -z "`$(CC) "$(PIE_TEST1_FLAGS)"`" ]
+PIE_TEST2 = [ -z "`$(CC) "$(PIE_TEST2_FLAGS)"`" ]
+PIE_FLAGS1 := $(shell $(PIE_TEST1) && $(ECHO) '-fno-PIE -no-pie')
PIE_FLAGS2 := $(shell $(PIE_TEST2) && $(ECHO) '-fno-PIE -nopie')
-WORKAROUND_CFLAGS += $(PIE_FLAGS) $(PIE_FLAGS2)
+WORKAROUND_CFLAGS += $(PIE_FLAGS1) $(PIE_FLAGS2)
+
+HOST_PIE_TEST1 = [ -z "`$(HOSTCC) "$(PIE_TEST1_FLAGS)"`" ]
+HOST_PIE_TEST2 = [ -z "`$(HOSTCC) "$(PIE_TEST2_FLAGS)"`" ]
+HOST_PIE_FLAGS1 := $(shell $(HOST_PIE_TEST1) && $(ECHO) '-fno-PIE -no-pie')
+HOST_PIE_FLAGS2 := $(shell $(HOST_PIE_TEST2) && $(ECHO) '-fno-PIE -nopie')
+WORKAROUND_HOST_CFLAGS += $(HOST_PIE_FLAGS1) $(HOST_PIE_FLAGS2)
endif
# i386-specific directories containing source files

View File

@ -4,7 +4,7 @@ LICENSE = "GPLv2"
DEPENDS = "binutils-native perl-native syslinux mtools-native cdrtools-native xz"
LIC_FILES_CHKSUM = "file://../COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRCREV = "64b4452bca04af433f1c98ab782c0e93cd5c88c0"
SRCREV = "18dc73d27edb55ebe9cb13c58d59af3da3bd374b"
PV = "gitr${SRCPV}"
PR = "r0"