RFR: 7904115: Fix for AIX test case failures due to incorrect alignment for double and pointer
Varada M
varadam at openjdk.org
Thu Nov 20 14:09:12 UTC 2025
Total of 10 test failures observed on AIX:
jtreg/generator/nestedTypes/TestNestedTypesUnsupported.java
jtreg/generator/test8246400/LibTest8246400Test.java
jtreg/generator/test8258605/LibTest8258605Test.java
jtreg/generator/test8261511/Test8261511.java
jtreg/generator/testStruct/LibStructTest.java
testng/org/openjdk/jextract/test/toolprovider/ConstantsTest.java
testng/org/openjdk/jextract/test/toolprovider/IncompleteArrayTest.java
testng/org/openjdk/jextract/test/toolprovider/Test8240811.java
testng/org/openjdk/jextract/test/toolprovider/TestClassGeneration.java
testng/org/openjdk/jextract/test/toolprovider/nestedAnonOffset/TestNestedAnonOffset.java
This PR fixes AIX specific layout generation issues related to incorrect alignment double and pointer types.
1. Structs containing double fields fail with:
i. Unsupported layout: 4%D8
ii. Invalid alignment constraint for member layout
double in AIX structs has size 8 but alignment 4 (except as first field). AIX specific handling for C_DOUBLE computes the correct alignment.
2. Clang was detected as 32-bit due to missing -m64 during macro extraction, causing inconsistent macros. This caused jextract to interpret pointer constants incorrectly, leading to failures like:
expected [-1] but found [4294967295]
3. TestNestedAnonOffset.java test failed on AIX because it also expects more padding similar to platforms like windows and linux
After the patch jtreg tests passes successfully.
JBS: [CODETOOLS-7904115](https://bugs.openjdk.org/browse/CODETOOLS-7904115)
-------------
Commit messages:
- testcase fixes for aix
- testcase fixes for aix
- testcase fixes for aix
- testcase fixes for aix
Changes: https://git.openjdk.org/jextract/pull/296/files
Webrev: https://webrevs.openjdk.org/?repo=jextract&pr=296&range=00
Issue: https://bugs.openjdk.org/browse/CODETOOLS-7904115
Stats: 27 lines in 6 files changed: 24 ins; 0 del; 3 mod
Patch: https://git.openjdk.org/jextract/pull/296.diff
Fetch: git fetch https://git.openjdk.org/jextract.git pull/296/head:pull/296
PR: https://git.openjdk.org/jextract/pull/296
More information about the jextract-dev
mailing list