On 28/04/2022 10:42, Andrea Corallo via Gcc-patches wrote:
This patch implements target feature macros when PACBTI is enabled through the -march option or -mbranch-protection. The target feature macros __ARM_FEATURE_PAC_DEFAULT and __ARM_FEATURE_BTI_DEFAULT are specified in ARM ACLE <https://developer.arm.com/documentation/101028/0012/5--Feature-test-macros?lang=en> __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI are specified in the pull-request <https://github.com/ARM-software/acle/pull/55>. Approved here <https://gcc.gnu.org/pipermail/gcc-patches/2021-December/586334.html>. gcc/ChangeLog: * config/arm/arm-c.c (arm_cpu_builtins): Define __ARM_FEATURE_BTI_DEFAULT, __ARM_FEATURE_PAC_DEFAULT, __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI.
This bit is OK.
gcc/testsuite/ChangeLog: * gcc.target/arm/acle/pacbti-m-predef-2.c: New test. * gcc.target/arm/acle/pacbti-m-predef-4.c: New test. * gcc.target/arm/acle/pacbti-m-predef-5.c: New test.
These are all execution tests. I think we also need some compile-only tests so that we get better coverage when the target does not directly support PACBTI.
We also need some tests for the defines when targetting armv8-m.main and some tests for checking __ARM_FEATURE_BTI and __ARM_FEATURE_PAC (the tests here check only the '..._DEFAULT' macros.
Co-Authored-By: Tejas Belagod <tbela...@arm.com>
R.