sys: Build arm64 per-thread SSP with GCC

It has been supported since GCC 9. It is unlikely anything older than
that will build the kernel so mark it as supported by GCC.

Reviewed by:	brooks, jhb
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D45267
This commit is contained in:
Andrew Turner 2024-05-22 08:20:01 +00:00
parent 131c1718c6
commit c2628accc0

View file

@ -30,7 +30,8 @@ CFLAGS += -DLINUX_DTS_VERSION=\"${LINUX_DTS_VERSION}\"
PERTHREAD_SSP_ENABLED!= grep PERTHREAD_SSP opt_global.h || true ; echo PERTHREAD_SSP_ENABLED!= grep PERTHREAD_SSP opt_global.h || true ; echo
.if !empty(PERTHREAD_SSP_ENABLED) .if !empty(PERTHREAD_SSP_ENABLED)
. if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 130000 . if (${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 130000) || \
${COMPILER_TYPE} == "gcc"
ARM64_SSP_CFLAGS = -mstack-protector-guard=sysreg ARM64_SSP_CFLAGS = -mstack-protector-guard=sysreg
ARM64_SSP_CFLAGS += -mstack-protector-guard-reg=sp_el0 ARM64_SSP_CFLAGS += -mstack-protector-guard-reg=sp_el0
ARM64_SSP_CFLAGS += -mstack-protector-guard-offset=0 ARM64_SSP_CFLAGS += -mstack-protector-guard-offset=0