[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