From a1faa8e2470b33e92f6274804bf7941fbb6e2d38 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 2 Jul 2020 16:11:04 +0100 Subject: [PATCH] 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. --- gcc/config/aarch64/aarch64-c.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gcc/config/aarch64/aarch64-c.c b/gcc/config/aarch64/aarch64-c.c index 1882288..1a1f4ec 100644 --- a/gcc/config/aarch64/aarch64-c.c +++ b/gcc/config/aarch64/aarch64-c.c @@ -181,6 +181,19 @@ aarch64_update_cpp_builtins (cpp_reader *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 = 0; + if (aarch64_ra_sign_key == AARCH64_KEY_A) + v |= 1; + if (aarch64_ra_sign_key == AARCH64_KEY_B) + v |= 2; + if (aarch64_ra_sign_scope == AARCH64_FUNCTION_ALL) + v |= 4; + builtin_define_with_int_value ("__ARM_FEATURE_PAC_DEFAULT", v); + } + aarch64_def_or_undef (TARGET_I8MM, "__ARM_FEATURE_MATMUL_INT8", pfile); aarch64_def_or_undef (TARGET_BF16_SIMD, "__ARM_FEATURE_BF16_VECTOR_ARITHMETIC", pfile); -- 2.7.4