On Mon, 30 Oct 2023 10:54:48 GMT, suchismith1993 <d...@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) In the Windows syslookup.c file we declare a global array of `void*` that we fill with function pointers of the relevant functions [1]. That array itself is exported using __declspec (which I think is not required on AIX?) > The only way to avoid an external list is to actually call the functions in > the lookup file What about taking the address of the functions and storing them in an array? That should work as well I'd think. [1]: https://github.com/openjdk/jdk/blob/master/src/java.base/windows/native/libsyslookup/syslookup.c ------------- PR Comment: https://git.openjdk.org/jdk/pull/16414#issuecomment-1817478447