Currently the -Wa,--noexecstack parameter is only passed to the compiler when building assembly files, as the assembler doesn't add such note for stack attributes.
However, the default addition of the .note.GNU-stack section is dependent on the ELF target used. Adjust the passing of -Wa,--noexecstack so it's added to CFLAGS instead of AFLAGS, and hence such section is also added to object files generated from .c sources. This fixes the complains from the linker about missing .note.GNU-stack section when building x86-64 Xen on Darwin platforms. Note we could instead pass `-z noexecstack` to the linker, but that however would mask any possible errors or unintended mismatches from previous steps. Suggested-by: Jan Beulich <[email protected]> Signed-off-by: Roger Pau Monné <[email protected]> --- xen/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/Makefile b/xen/Makefile index a054315fa4a2..a2b442e76d5c 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -413,7 +413,7 @@ ifneq ($(CONFIG_CC_IS_CLANG),y) CFLAGS += -Wa,--strip-local-absolute endif -$(call cc-option-add,AFLAGS,CC,-Wa$$(comma)--noexecstack) +$(call cc-option-add,CFLAGS,CC,-Wa$$(comma)--noexecstack) LDFLAGS-$(call ld-option,--warn-rwx-segments) += --no-warn-rwx-segments -- 2.51.0
