[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