RFR: JDK-8317799 : AIX PPC64: FFI symbol lookup doesn't find symbols [v7]
Jorn Vernee
jvernee at openjdk.org
Wed Nov 22 06:53:12 UTC 2023
On Tue, 21 Nov 2023 19:30:30 GMT, suchismith1993 <duke at openjdk.org> wrote:
>> The math library in AIX specifically, is a static archive. Doing a -lm wont suffice, because when the symbols are looked up using dlsym or accessing native code through Java, it will lead to failures.
>> Hence we had to come up with a list of symbols to allow math library symbols to be accesible.
>> Also, there are parts of libc library that are static too, and hence those symbols also are present in this list.
>> Without this change, the StdLibTest and multiple other tests which make native function calls using FFI, fail with NoSuchElementException.
>>
>>
>> 1. Adding required compiler flags.
>> 2. Adding required symbols.
>>
>>
>> JBS-ISSUE : [JDK-8317799](https://bugs.openjdk.org/browse/JDK-8317799)
>
> suchismith1993 has updated the pull request incrementally with two additional commits since the last revision:
>
> - Fix Typos
> - Remove unnecessary includes
Note that on Windows we also have a lookup mechanism on the Java side: https://github.com/openjdk/jdk/blob/2c31ca525b1cd70c3dfcb0463c8c984bdd7c886a/src/java.base/share/classes/jdk/internal/foreign/SystemLookup.java#L159
On Windows we need to load the global array, and then grab functions from the array. Why isn't that needed on AIX? Is `dlsym` able to find the statically linked functions as well?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16414#issuecomment-1822205442
More information about the core-libs-dev
mailing list