On Thu, 22 Feb 2024 16:15:23 GMT, Magnus Ihse Bursie <i...@openjdk.org> wrote:

>> **Summary:** Finally get rid of the mapfiles in Hotspot, and replace it with 
>> compiler options and `JNIEXPORT` on all platforms.
>> 
>> The bug that this PR solves, 
>> [JDK-8017234](https://bugs.openjdk.org/browse/JDK-8017234), was created in 
>> 2013. Even back then the use of mapfiles in Hotspot was dated, so this is 
>> really good riddance with old rubbish.
>> 
>> This code touches on central but not well understood parts of the Hotspot 
>> dynamic library, which has contributed to why this bug has stayed unresolved 
>> for so long. I will need to explain this fix in more detail than usually 
>> necessary. (Please bare with me if this gets long.) I also anticipate that 
>> not all solutions that I've picked will be accepted, and we'll have to 
>> discuss how to proceed. I think it is better to have actual concrete code to 
>> discuss around, rather than starting by an abstract discussion. To keep this 
>> description short, I will post the discussion as a comment to the PR.
>> 
>> I have run this PR through tier 1-3 in our CI system. I have also carefully 
>> checked how the resulting dynamic library differs with this patch (not much; 
>> see discussion below). For build system changes, this is often the most 
>> relevant metric.
>
> Magnus Ihse Bursie has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Use #pragma instead of HIDDEN define

src/hotspot/share/oops/accessBackend.cpp line 40:

> 38: #if defined(TARGET_COMPILER_gcc)
> 39: // Needed to work around bug in gcc causing these symbols to be visible 
> despite -fvisibility=hidden
> 40: #pragma GCC visibility push(hidden)

does it work for you? because it doesn't hide the arraycopy symbols for me. The 
explicit visibility(hidden) attribute did work.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17955#discussion_r1500329388

Reply via email to