From: Jaco Kroon Date: Mon, 7 Nov 2022 15:30:00 +0000 (+0200) Subject: Build system: Avoid executable stack. X-Git-Tag: 20.1.0-rc1~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce2153fc5aa4e1b252d4d9d608748b6615460f30;p=thirdparty%2Fasterisk.git Build system: Avoid executable stack. Found in res_geolocation, but I believe others may have similar issues, thus not linking to a specific issue. Essentially gcc doesn't mark the stack for being non-executable unless it's compiling the source, this informs ld via gcc to mark the object as not requiring an executable stack (which a binary blob obviously doesn't). ASTERISK-30321 Change-Id: I71bcc2fd1fe0c82a28b3257405d6f2b566fd9bfc Signed-off-by: Jaco Kroon --- diff --git a/Makefile.rules b/Makefile.rules index e6b6589cc7..7b508e6ab2 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -213,10 +213,10 @@ endif # extern const size_t _binary_abc_def_xml_size; %.o: %.xml $(ECHO_PREFIX) echo " [LD] $^ -> $@" - $(CMD_PREFIX) $(CC) -g -nostartfiles -nodefaultlibs -nostdlib -r -Wl,-b,binary -o $@ $^ + $(CMD_PREFIX) $(CC) -g -Wl,-znoexecstack -nostartfiles -nodefaultlibs -nostdlib -r -Wl,-b,binary -o $@ $^ %.o: %.xslt $(ECHO_PREFIX) echo " [LD] $^ -> $@" - $(CMD_PREFIX) $(CC) -g -nostartfiles -nodefaultlibs -nostdlib -r -Wl,-b,binary -o $@ $^ + $(CMD_PREFIX) $(CC) -g -Wl,-znoexecstack -nostartfiles -nodefaultlibs -nostdlib -r -Wl,-b,binary -o $@ $^ dist-clean:: clean