This patch adds _LIBCXXABI_FUNC_VIS to the definitions of the personality and helper routines for the state table based EH, now that the support of the visibility attribute is being added to AIX Clang. Currently an export list is generated in the absence of the visibility attribute support downstream.
Details
- Reviewers
ldionne MaskRay cebowleratibm daltenty - Group Reviewers
Restricted Project - Commits
- rG8da20096080b: [libc++abi][AIX] Use _LIBCXXABI_FUNC_VIS for exported routines
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
I see that https://discourse.llvm.org/t/rfc-adding-exported-visibility-style-to-the-ir-to-model-xcoff-exported-visibility/61853 says if no visibility bit (I assume n_type & SYM_V_MASK == 0) is set, the symbols need an export list.
I don't see how you use an export list for the libc++abi code, perhaps you maintain a down stream patch.
[NFC]
I assume that getting #define _LIBCXXABI_FUNC_VIS __attribute__((__visibility__("default"))) will have side effects, so [NFC] is inappropriate.
Thanks for your comments! Yes, export lists are currently used on AIX for libc++abi as well as other libraries downstream in the absence of attribute visibility.
[NFC]
I assume that getting #define _LIBCXXABI_FUNC_VIS __attribute__((__visibility__("default"))) will have side effects, so [NFC] is inappropriate.
I agree it is not [NFC] from the perspective of upstream, although _LIBCXXABI_FUNC_VIS has the same effect as the export list that has been used downstream.
Hi @ldionne, Would you please take a look and if no further comments, accept for #libc_abi? Thanks!