[PATCHv2 0/1] Enable PAC and BTI for AArch64
Bill Roberts
bill.roberts at arm.com
Mon Nov 4 19:42:27 CET 2024
This is a follow up to https://gmplib.org/list-archives/gmp-devel/2024-August/006261.html
and the feedback provided by Niels at https://gmplib.org/list-archives/gmp-devel/2024-October/006267.html
This moves the generation of the m4 defines into the autoconf system
(hats off to whomever built that for GMP) as well adds code test for BTI
enablement within GMP assembly stubs. Additionally, it also tests that
the proper GNU Notes attributes are added with readelf -n. The tests
skip on non-aarch64 hardware or when PAC or BTI support is not enabled.
Bill Roberts (1):
aarch64: support PAC and BTI
acinclude.m4 | 33 ++++++++++++
configure.ac | 20 ++++++-
mpn/Makeasm.am | 3 +-
mpn/arm64/aors_n.asm | 1 +
mpn/arm64/aorsmul_1.asm | 1 +
mpn/arm64/aorsorrlsh1_n.asm | 1 +
mpn/arm64/aorsorrlsh2_n.asm | 1 +
mpn/arm64/arm64-defs.m4 | 95 +++++++++++++++++++++++++++++++++
mpn/arm64/bdiv_dbm1c.asm | 1 +
mpn/arm64/bdiv_q_1.asm | 1 +
mpn/arm64/cnd_aors_n.asm | 1 +
mpn/arm64/com.asm | 1 +
mpn/arm64/copyd.asm | 1 +
mpn/arm64/copyi.asm | 1 +
mpn/arm64/divrem_1.asm | 9 +++-
mpn/arm64/gcd_11.asm | 1 +
mpn/arm64/gcd_22.asm | 1 +
mpn/arm64/hamdist.asm | 1 +
mpn/arm64/invert_limb.asm | 1 +
mpn/arm64/logops_n.asm | 1 +
mpn/arm64/lshift.asm | 1 +
mpn/arm64/lshiftc.asm | 1 +
mpn/arm64/mod_34lsub1.asm | 1 +
mpn/arm64/mul_1.asm | 1 +
mpn/arm64/popcount.asm | 1 +
mpn/arm64/rsh1aors_n.asm | 1 +
mpn/arm64/rshift.asm | 1 +
mpn/arm64/sec_tabselect.asm | 1 +
mpn/arm64/sqr_diag_addlsh1.asm | 1 +
tests/mpn/Makefile.am | 43 ++++++++++-----
tests/mpn/log-compiler.sh | 21 ++++++++
tests/mpn/t-arm64_bti.c | 86 ++++++++++++++++++++++++++++++
tests/mpn/t-arm64_elf_check.sh | 96 ++++++++++++++++++++++++++++++++++
33 files changed, 412 insertions(+), 18 deletions(-)
create mode 100755 tests/mpn/log-compiler.sh
create mode 100644 tests/mpn/t-arm64_bti.c
create mode 100755 tests/mpn/t-arm64_elf_check.sh
--
2.46.0
More information about the gmp-devel
mailing list