================ @@ -827,6 +827,54 @@ DEFINE_LIBUNWIND_FUNCTION(__unw_getcontext) ret #endif +// +// extern "C" bool __libunwind_Registers_arm64_za_disable() +// +// On return: +// success (true/false) is returned in x0 +// + .p2align 2 +DEFINE_LIBUNWIND_FUNCTION(__libunwind_Registers_arm64_za_disable) + // If TPIDR2_EL0 is null, the subroutine just disables ZA. ---------------- MacDue wrote:
The `BTI_C` macro used in `compiler-rt` (which may not expand to a `bti` instruction) does not exist in `libunwind`. Other functions add `pacibsp/retab` based on `__has_feature(ptrauth_calls)`, so I've updated `__libunwind_Registers_arm64_za_disable` to do the same (IIRC, `pacibsp` also acts like a `bti`). I'm not sure what `.variant_pcs` would mean/do here. I believe this function should comply with the standard C calling convention (which it is called with), as the declaration in `Registers.hpp` does not indicate any alternate calling convention. https://github.com/llvm/llvm-project/pull/165451 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
