[llvm] [PAC][AArch64] Lower ptrauth constants in code (PR #94241)

Daniil Kovalev via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 16 21:29:30 PDT 2024


kovdan01 wrote:

@ahmedbougacha Please note that changes in this PR are a bit different from the https://github.com/ahmedbougacha/llvm-project/tree/eng/arm64e-upstream-llvmorg branch. We ship less changes since some functionality was considered as not needed for ELF. Here are some of the differences.

- There is no support for static materialization of non-`extern_weak` symbols.
- The issue https://github.com/access-softek/llvm-project/issues/79 is fixed. Now not only positive 32 bit offsets are supported properly (while only positive 24 bit ones were supported previously and for 25-32 bit ones there was an assertion failure), but also full-range 64 bit offsets as well (both positive and negative ones).
- Some code related to emitting `$auth_ptr$` stubs is moved to common template helpers which might be used by both `MachineModuleInfoELF` and `MachineModuleInfoMachO`.
- Since `$auth_ptr$` stubs are now only used for `extern_weak` symbols, no offsets are supported in these stubs.



https://github.com/llvm/llvm-project/pull/94241


More information about the llvm-commits mailing list