From: Szabolcs Nagy Date: Thu, 2 Jul 2020 15:11:04 +0000 (+0100) Subject: aarch64: Add missing ACLE support for PAC-RET X-Git-Tag: releases/gcc-9.4.0~815 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8281cdda59d7bcdccba784d44367b3a404324cc8;p=thirdparty%2Fgcc.git aarch64: Add missing ACLE support for PAC-RET Define the __ARM_FEATURE_PAC_DEFAULT feature test macro when PAC-RET branch protection is enabled. 2020-07-13 Szabolcs Nagy gcc/ChangeLog: * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add __ARM_FEATURE_PAC_DEFAULT support. (cherry picked from commit a1faa8e2470b33e92f6274804bf7941fbb6e2d38) --- diff --git a/gcc/config/aarch64/aarch64-c.c b/gcc/config/aarch64/aarch64-c.c index 6d5acb02fc6c..f22ad4375484 100644 --- a/gcc/config/aarch64/aarch64-c.c +++ b/gcc/config/aarch64/aarch64-c.c @@ -156,6 +156,18 @@ aarch64_update_cpp_builtins (cpp_reader *pfile) aarch64_def_or_undef (TARGET_SM4, "__ARM_FEATURE_SM4", pfile); aarch64_def_or_undef (TARGET_F16FML, "__ARM_FEATURE_FP16_FML", pfile); + aarch64_def_or_undef (aarch64_bti_enabled (), + "__ARM_FEATURE_BTI_DEFAULT", pfile); + + cpp_undef (pfile, "__ARM_FEATURE_PAC_DEFAULT"); + if (aarch64_ra_sign_scope != AARCH64_FUNCTION_NONE) + { + int v = 1; + if (aarch64_ra_sign_scope == AARCH64_FUNCTION_ALL) + v |= 4; + builtin_define_with_int_value ("__ARM_FEATURE_PAC_DEFAULT", v); + } + /* Not for ACLE, but required to keep "float.h" correct if we switch target between implementations that do or do not support ARMv8.2-A 16-bit floating-point extensions. */