aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2024-10-04 21:13:41 +0000
committerBrooks Davis <brooks@FreeBSD.org>2024-10-04 22:01:45 +0000
commit74f6ec6fe3cf47cc0482cd5fb10d5c3c967bfd1f (patch)
treec090563075ac920cf266f449dd011f1bc55a088d
parent77fd02501f0966ef54eb4a42e086a61a48134c42 (diff)
downloadsrc-74f6ec6fe3cf47cc0482cd5fb10d5c3c967bfd1f.tar.gz
src-74f6ec6fe3cf47cc0482cd5fb10d5c3c967bfd1f.zip
lib{c,sys}: .note.GNU-stack in syscall stubs
Explicitly disable executable stacks in the syscall stubs on all architectures. Previously, aarch64 and riscv64 didn't include the .note.GNU-stack note due it being disabled by default in those ABIs. This appears to have been harmless in practice, but better to be clear in case a different compiler/linker has different defaults. This also reduces special cases in the Makefile. Reported by: jrtc27 Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44883
-rw-r--r--lib/libsys/Makefile.sys5
1 files changed, 0 insertions, 5 deletions
diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys
index d18f4bc23227..7454f5a47720 100644
--- a/lib/libsys/Makefile.sys
+++ b/lib/libsys/Makefile.sys
@@ -129,12 +129,7 @@ SYM_MAPS+= ${LIBSYS_SRCTOP}/${LIBC_ARCH}/Symbol.sys.map
# Generated files
CLEANFILES+= ${SASM} ${SPSEUDO}
-.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" || \
- ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_CPUARCH} == "arm"
NOTE_GNU_STACK='\t.section .note.GNU-stack,"",%%progbits\n'
-.else
-NOTE_GNU_STACK=''
-.endif
.if ${MACHINE_CPUARCH} == "aarch64"
FEATURE_NOTE='\#include <sys/elf_common.h>\nGNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL)\n'
.else