[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
Thu Apr 29 11:44:33 PDT 2021


xingxue added a comment.

In D101545#2726036 <https://reviews.llvm.org/D101545#2726036>, @MaskRay wrote:

> I keep feeling that the AIX implementation probably needs its own file. Making Itanium/ARM/SEH share some functions actually make generic code improvement harder.

I understand your concern.  However, the `AIX` personality routine for the `range table` is essentially the same as the implementation of `gxx_personality_v0` except it uses the `DW_EH_PE_datarel` encoding which the current `Itanium` implementation does not support.  Therefore, this patch and the follow-on patch https://reviews.llvm.org/D101298 extend the existing `Itanium` implementation to allow relative addresses with a base.  These two patches are straightforward and is all the AIX personality for the `range table` needs.

The `AIX EH` implementation also has a personality routine for the `state table`, which accounts for most changes to `cxa_personality.cpp`. The personality for the `state table` is orthogonal and can be placed in a separate file if needed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D101545/new/

https://reviews.llvm.org/D101545



More information about the libcxx-commits mailing list