[libcxxabi] [libunwind] [libunwind][AIX] Handle VAPI-based return addresses in stack unwinding for LLU (PR #209280)
Hubert Tong via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 13 14:50:59 PDT 2026
hubert-reinterpretcast wrote:
> AIX's implementation of LLU (Live Library Update) stores the VAPI glue address in the return-address field of a stack frame instead of the link register (LR) value when the callee function uses VAPI. In this case, the LR value is saved in the VAPI control block.
Suggestion:
In AIX's implementation of LLU (Live Library Update), the caller of a Virtual API (VAPI) interface instead calls VAPI glue and the implementation for a VAPI function is entered from the VAPI glue. If a VAPI is not already active on the thread, the VAPI calls the implementation of the VAPI function with the link register (LR) value set to a return address in the VAPI glue. In this case, the LR (return address) value on entry to the VAPI glue is saved in the VAPI control block.
https://github.com/llvm/llvm-project/pull/209280
More information about the cfe-commits
mailing list