diff options
author | Brooks Davis <brooks@FreeBSD.org> | 2024-10-04 21:13:41 +0000 |
---|---|---|
committer | Brooks Davis <brooks@FreeBSD.org> | 2024-10-04 22:01:45 +0000 |
commit | 74f6ec6fe3cf47cc0482cd5fb10d5c3c967bfd1f (patch) | |
tree | c090563075ac920cf266f449dd011f1bc55a088d | |
parent | 77fd02501f0966ef54eb4a42e086a61a48134c42 (diff) | |
download | src-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.sys | 5 |
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 |