llvm-project/libcxxabi
Xing Xue b8f5732634 [libc++abi][AIX] add personality and helper functions for the state table EH
Summary:
This patch adds the personality and helper functions for the state table based EH used by IBM legacy compilers xlC and xlclang++ on AIX.

 * A high level description of the state table based EH is provided in the code comments.

 * Function scan_state_tab() is added to scan the state table. It is invoked by the state table personality routine __xlcxx_personality_v0() and returns scan_results like scan_eh_tab() does.

 * A couple of EH helper functions used by xlC and xlclang++ generated code are also added, e.g., __xlc_catch_matchv2() which checks whether the thrown object matches the catch handler's exception type.

 * Debugging macros _LIBCXXABI_TRACE_STATETAB, _LIBCXXABI_TRACE_STATETAB0, and _LIBCXXABI_TRACING_STATETAB are added to dump state table scanning traces if environment variable LIBCXXABI_PRINT_STATTAB is set.

 * The state variable and state table data is the LSDA found from the traceback table of the function during unwinding.

Reviewed by: MaskRay, cebowleratibm, libc++abi

Differential Revision: https://reviews.llvm.org/D100504
2022-05-31 09:21:34 -04:00
..
cmake [runtimes] Introduce object libraries 2022-05-16 08:41:16 -04:00
fuzz
include [libcxxabi] Copy headers into build location 2022-05-14 03:49:09 +00:00
lib [libc++/abi] Revert "[libc++] Move the weak symbols list to libc++abi" 2020-10-05 11:42:13 -04:00
src [libc++abi][AIX] add personality and helper functions for the state table EH 2022-05-31 09:21:34 -04:00
test [runtimes] Rename various libcpp-has-no-XYZ Lit features to just no-XYZ 2022-05-27 15:24:45 -04:00
www [runtimes] Remove support for standalone builds 2022-02-09 08:55:31 -05:00
.clang-format [NFC][libcxxabi] Run clang-format on libcxxabi/src/cxa_guard_impl.h 2021-08-18 19:09:16 -04:00
.gitignore
CMakeLists.txt [libc++abi] Use from-scratch testing configs for libc++abi by default 2022-05-26 09:08:31 -04:00
CREDITS.TXT
LICENSE.TXT