diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2021-06-18 17:13:04 +0100 |
---|---|---|
committer | Richard Earnshaw <rearnsha@arm.com> | 2021-08-24 11:45:12 +0100 |
commit | 79fb2700bdbab4212346d907be6063c5a32d3836 (patch) | |
tree | 78c3f7d662ccb0a9057b45910a4deb4067f899e1 /libgcc | |
parent | 4702d3cf044924970a9a00142542da1edacfd76c (diff) | |
download | gcc-79fb2700bdbab4212346d907be6063c5a32d3836.tar.gz |
arm: testsuite: improve detection of CMSE hardware.
The test for CMSE support being available in hardware currently
relies on the compiler not optimizing away a secure gateway operation.
But even that is suspect, because the SG instruction is just a NOP
on armv8-m implementations that do not support the security extension.
Replace the existing test with a new one that reads and checks
the appropriate hardware feature register (memory mapped). This has
to be run from secure mode, but that shouldn't matter, because if we
can't do that we can't really test the CMSE extensions anyway. We
retain the SG instruction to ensure the test can't pass accidentally
if run on pre-armv8-m devices.
gcc/testsuite:
* lib/target-supports.exp (check_effective_target_arm_cmse_hw):
Check the CMSE feature register, rather than relying on the
SG operation causing an execution fault.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions