This breaks all Clang builds, as demostrated by Gitlab CI. Contrary to the description in ecd6b9759919, -no-pie is not even an option passed to the linker. GCC's actual behaviour is to inhibit the passing of -pie to the linker, as well as selecting different cr0 artefacts to be linked.
EMBEDDED_EXTRA_CFLAGS is not used for $(CC)-doing-linking, and not liable to gain such a usecase. Signed-off-by: Andrew Cooper <[email protected]> Fixes: ecd6b9759919 ("Config.mk: correct PIE-related option(s) in EMBEDDED_EXTRA_CFLAGS") --- CC: George Dunlap <[email protected]> CC: Roger Pau Monné <[email protected]> CC: Jan Beulich <[email protected]> CC: Stefano Stabellini <[email protected]> CC: Wei Liu <[email protected]> CC: Julien Grall <[email protected]> CC: Henry Wang <[email protected]> Henry: This bugfix is a blocker for 4.17. --- Config.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Config.mk b/Config.mk index 000e57e57b44..69af1e60d4cc 100644 --- a/Config.mk +++ b/Config.mk @@ -188,7 +188,7 @@ endif APPEND_LDFLAGS += $(foreach i, $(APPEND_LIB), -L$(i)) APPEND_CFLAGS += $(foreach i, $(APPEND_INCLUDES), -I$(i)) -EMBEDDED_EXTRA_CFLAGS := -fno-pie -no-pie -fno-stack-protector -fno-stack-protector-all +EMBEDDED_EXTRA_CFLAGS := -fno-pie -fno-stack-protector -fno-stack-protector-all EMBEDDED_EXTRA_CFLAGS += -fno-exceptions -fno-asynchronous-unwind-tables XEN_EXTFILES_URL ?= http://xenbits.xen.org/xen-extfiles -- 2.11.0
