[libcxx-commits] [PATCH] D101545: [libc++abi] NFC: adding a new parameter base to functions for calculating addresses with relative encodings

Xing Xue via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue May 25 10:28:32 PDT 2021

xingxue added a subscriber: mclow.lists.
xingxue added a comment.

@libc++abi, @mclow.lists Hi, This `NFC` patch has been reviewed and approved by @sfertile but it needs the approval from blocking reviewer the `libc++abi` group before it can be landed.  We are working on the `Clang` compiler for the `AIX` platform and `libunwind`/`libc++abi` are used for `EH`. For `AIX`, the `DW_EH_PE_datarel` encoding is used for calculating relative addresses in the range table. Therefore, the code for scanning the range table is extended to have one more parameter `base`. This `NFC` patch and the follow-on patch https://reviews.llvm.org/D101298 are the changes needed to process the range table for `Clang` on `AIX`. It is important to us to get the changes reviewed and landed to unblock the buildbot.  It would be greatly appreciated if the group can take a look and let us know if there are any concerns.

We are also trying to replace the runtime `EH` implementation of the earlier compiler `xlclang++` on `AIX` with the `libc++abi`/`libunwind` approach. Since `xlclang++` uses the state table for `EH` instead of the range table, a separate personality routine `__xlcxx_personality_v0()` for the state table is implemented in `cxa_personality.cpp` (patch https://reviews.llvm.org/D100504). The implementation for the state table is `AIX` specific and orthogonal to the changes for the range table mentioned above.

  rG LLVM Github Monorepo



More information about the libcxx-commits mailing list