- User Since
- Feb 14 2019, 10:47 AM (176 w, 6 d)
Tue, Jul 5
LGTM; thanks! The IBM OpenMP runtime sets the default thread stack size to 4MiB on AIX as well.
Mon, Jun 27
Fri, Jun 24
Dropped the static_assert on the size of struct __long.
Addressed the comment to consider potential padding in the assert added for struct __long.
Wed, Jun 22
The build failure is unrelated, can you rebase before reuploading this patch?
- add comments explaining why attribute __packed__ is used;
- add static_assert for struct __long.
Changed to use anonymous struct and __attribute__((__packed__)) as suggested.
Tue, Jun 21
Mon, Jun 20
Add one more test case thousands_sep.pass.cpp.
Sun, Jun 19
Fri, Jun 17
Added missing "of" in the comment.
Added a comment in test case get_one.pass.cpp to explain the reason why the time field is omitted in the const definition for locale zh_CN.UTF-8.
Mon, Jun 13
Hi @ldionne, Would you please take a look and if no further comments, accept for #libc_abi? Thanks!
Jun 5 2022
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.
Jun 2 2022
Jun 1 2022
Addressed comment - changed as per suggestion.
May 31 2022
@MaskRay, @cebowleratibm, @ldionne, @hubert.reinterpretcast, @jasonliu: Thank you so much for your help, time and effort in reviewing, and constructive suggestions. All of these make the patch much better than it was. Thanks again!
May 25 2022
May 24 2022
Hi @MaskRay, Do you have further comments? If not, would you be able to approve this patch? My colleague @cebowleratibm, who is an AIX compiler and runtime expert, has done a thorough review of AIX specific contents and approved it (see comment https://reviews.llvm.org/D100504#3414984). This implementation has been run through the proprietary test coverage and included in the IBM Open XL C/C++ for AIX V17.1 compiler released in Sept. 2021.
May 20 2022
Deleted an empty line with a leading # sign as suggested.
- Fixed formatting.
May 19 2022
Hi @MaskRay, Do you have further comments?
Deleted a trailing empty line in file ibm-libunwind-shared.cfg.in.
May 13 2022
Fixed problems in pre-merg check.
- Avoid using GCC extension named variadic macros;
- Avoid using C99 feature flexible array members.
May 6 2022
Addressed comments. Moved the implementation for AIX state table based EH into a separate file aix_state_tab_eh.inc as suggested.
May 5 2022
LGTM; however, will need the review from the libc++ group.
May 3 2022
- Fixed typos in comments;
- Removed unnecessary cast.
Apr 13 2022
Mar 29 2022
Mar 21 2022
Mar 2 2022
Fixed format according to git-clang-format.
Mar 1 2022
- Updated code comments;
- Renamed variable inlineDestructor to cleanupLabel. Replaced the term "inline destructor" with "cleanup code";
- Renamed function compute_obj_addr to compute_addr_from_table.
Feb 16 2022
Ping... This patch failed the pre-merge check because the formatting in lines 611-612 and 1179-1180 of file Registers.hpp follows the surrounding code rather than git-clang-format.
Feb 15 2022
Feb 14 2022
Feb 7 2022
- Used unions where the same memory is used for different purposes to make overlapping use of the memory more clear.
- Renamed variables to be more descriptive.
- Added a high level description of the state table based EH.
- Added comments in various locations.
- Fixed a problem where the frame pointer is needed to calculate the address.
- Fixed the address calculation of virtual base object for calling destructor or deletor to be based on the IBM object model used by the proprietary xlC compiler because these paths are only used for xlC generated code.
- Commoned up some code to reduce redundancy.
Feb 2 2022
- Remove the cursor size definition for building with AIX GCC for now because it is not enabled yet;
- Use the C++ style cast rather than C style cast;
- Be consistent with the surrounding area's formatting.
Jan 24 2022
Jan 12 2022
- fix errors in comments.
Jan 11 2022
- allow the declaration of _Unwind_GetTextRelBase() on AIX.
- rename getFuncName to getFuncNameFromTBTable.
- rename clangFrame to frameWithEHInfo and rename classicFrame to frameWithXLEHStateTable.
- add comments to describe the code looking for eh_info and dealing with the complexity arising from some XL compiler versions use the wrong ordering of flag bits.
Jan 7 2022
- Use the same logic for skipping the name_len and name fields.
Jan 6 2022
- Make the declaration of _Unwind_GetDataRelBase cleaner in unwind.h.
- Rename enum member oldFrame to classicXLFrame.
- Use typedef of xlcxx_personality_v0_t in the declaration of __xlcxx_personality_v0().
- Rename variable stateOffset to stateTableOffset.
- Add commet to explain why dynamically resolving the personality for the state table.
Dec 9 2021
Hi @compnerd, Thanks very much for your comments! I've made changes accordingly. Please let me know if you have further comments!
Nov 23 2021
Nov 18 2021
Thanks for reviewing this patch, @danielkiss, @MaskRay, @ldionne! Yes, target=powerpc-ibm-aix (32-bit) and target=powerpc64-ibm-aix (64-bit) are LIT features. Updated the patch as suggested. Thanks, @ldionne!