On Thu, 22 Feb 2024 11:16:37 GMT, Kevin Walls <kev...@openjdk.org> wrote:
>>> But for platform consistency, it might make sense to export these even on >>> gcc as well. >> >> JDK-8288293 would definitely like that a lot > > Thanks - when I last tried, e.g. "call universe()" would work on Linux/gdb, > so I think gdb did resolve a local symbol (which cannot be found by callling > dlsym, but can be found in the binary symboltable). > On Windows the debug.cpp symbols just weren't in the binary at all, then with > JDK-8264593 JNIEXPORT they were, and appeared in the .map file we generate > also. > > So I am saying I added the JNIEXPORT for Windows, to get the debug.cpp > symbols into the binary. > This removes JNIEXPORT for gcc, which already had the debug.cpp symbols in > the binary. > > But I will go check this... > they were absent from .dynsym but available in .symtab as bind: local, > visibility: default. Now they are completely gone. I don't think that statement is correct. Or else my understanding about symbol tables is incomplete. Both `nm` (which shows `.symtab`) and `nm -D` (which shows `.dynsym`) are identical for the libjvm.so before and after the patch wrt to the JNIEXPORTed debug.cpp functions. Was this a statement of your understanding of the situation, or could you spot an actual difference? If it is the latter, please let me know how I can view this difference. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/17955#discussion_r1499163789