[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] zap linking-only option from EMBEDDED_EXTRA_CFLAGS
While I was suspicious of the compiler issuing a diagnostic about an unused linking-only option when not doing any linking, I did check this with a couple of gcc versions only, but not with Clang. (Oddly enough at least older Clang versions complain about the use of '-nopie' now that we actually use '-no-pie'.) Filter out the problematic option in all cases where the variable is consumed for compilation only (which right now is everywhere). Fixes: ecd6b9759919 ("Config.mk: correct PIE-related option(s) in EMBEDDED_EXTRA_CFLAGS") Reported-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- Arguably with all users of EMBEDDED_EXTRA_CFLAGS using these just for compiling, the option could be omitted from that variable right away. But if any compile-and-link-in-one-go use appeared, there would be an issue. --- a/tools/firmware/Rules.mk +++ b/tools/firmware/Rules.mk @@ -13,7 +13,7 @@ endif CFLAGS += -Werror -$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) +$(call cc-options-add,CFLAGS,CC,$(filter-out -no-pie,$(EMBEDDED_EXTRA_CFLAGS))) $(call cc-option-add,CFLAGS,CC,-fcf-protection=none) --- a/tools/tests/x86_emulator/testcase.mk +++ b/tools/tests/x86_emulator/testcase.mk @@ -2,7 +2,7 @@ XEN_ROOT = $(CURDIR)/../../.. CFLAGS := include $(XEN_ROOT)/tools/Rules.mk -$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) +$(call cc-options-add,CFLAGS,CC,$(filter-out -no-pie,$(EMBEDDED_EXTRA_CFLAGS))) CFLAGS += -fno-builtin -g0 $($(TESTCASE)-cflags) --- a/xen/arch/arm/arch.mk +++ b/xen/arch/arm/arch.mk @@ -1,7 +1,7 @@ ######################################## # arm-specific definitions -$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) +$(call cc-options-add,CFLAGS,CC,$(filter-out -no-pie,$(EMBEDDED_EXTRA_CFLAGS))) $(call cc-option-add,CFLAGS,CC,-Wnested-externs) # Prevent floating-point variables from creeping into Xen. --- a/xen/arch/x86/arch.mk +++ b/xen/arch/x86/arch.mk @@ -10,7 +10,7 @@ CFLAGS += -DXEN_IMG_OFFSET=$(XEN_IMG_OFF # Prevent floating-point variables from creeping into Xen. CFLAGS += -msoft-float -$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) +$(call cc-options-add,CFLAGS,CC,$(filter-out -no-pie,$(EMBEDDED_EXTRA_CFLAGS))) $(call cc-option-add,CFLAGS,CC,-Wnested-externs) $(call as-option-add,CFLAGS,CC,"vmcall",-DHAVE_AS_VMX) $(call as-option-add,CFLAGS,CC,"crc32 %eax$$(comma)%eax",-DHAVE_AS_SSE4_2) --- a/xen/arch/x86/boot/Makefile +++ b/xen/arch/x86/boot/Makefile @@ -12,7 +12,7 @@ endif $(obj)/head.o: $(head-bin-objs:.o=.bin) CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS)) -$(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS)) +$(call cc-options-add,CFLAGS_x86_32,CC,$(filter-out -no-pie,$(EMBEDDED_EXTRA_CFLAGS))) CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float ifdef building_out_of_srctree CFLAGS_x86_32 += -I$(objtree)/include
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |