From f59b95d0e2e9911bb18a663ceca4279e644af35b Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 30 Jun 2023 12:03:41 +0100 Subject: [build] Use separate code segment if supported by linker Some versions of ld will complain that the automatically created (and unused by our build process) ELF program headers include a "LOAD segment with RWX permissions". Silence this warning by adding "-z separate-code" to the linker options, where supported. Signed-off-by: Michael Brown --- src/Makefile.housekeeping | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index b32003e..061844e 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping @@ -502,6 +502,13 @@ LDFLAGS += --gc-sections # LDFLAGS += -static +# Use separate code segment if supported by linker +# +ZSC_TEST = [ -z "`$(LD) -z separate-code --version 2>&1 > /dev/null`" ] +ZSC_FLAGS := $(shell $(ZSC_TEST) && \ + $(ECHO) '-z separate-code -z max-page-size=4096') +LDFLAGS += $(ZSC_FLAGS) + # compiler.h is needed for our linking and debugging system # CFLAGS += -include include/compiler.h -- cgit v1.1