That topic comes up every so often.  This conversation on hotspot-dev in 
Ferbruary is probably relevant:

http://mail.openjdk.java.net/pipermail/hotspot-dev/2014-February/012631.html

On Sep 5, 2014, at 1:14 PM, S. Bharadwaj Yadavalli 
<bharadwaj.yadava...@oracle.com> wrote:

> Looking at the command that links Hotspot object files to generate libjvm.so, 
> it appears to use a generated version script called mapfile_reorder to 
> restrict the symbols that can be global.
> 
> However, despite the list containing several C++ mangled symbols, these 
> symbols are not generated as global symbols in the resulting libjvm.so. Can 
> some one please tell me why the symbols listed in mapfile_reorder as global 
> do not show up as global symbols in libjvm.so?
> 
> I tried a sample version script to link a test object file and it appears 
> that the linker does honor the symbol visibility specification in the version 
> script. So, it appears not to be a linker/script issue. Is there some other 
> place in the build procedure that scuttles the marking of symbols listed as 
> global in mapfile_reorder? I notice that (most of) the global symbols in 
> libjvm.so (did not check each one) are those that are marked JNIEXPORT. If 
> that is the case, what is the purpose of creating vm.def and the version 
> script mapfile_reorder?
> 
> Thanks,
> 
> Bharadwaj
> 
> P.S: Please let me know if this is not the appropriate ML for the question 
> and point me to the right one. Thx.

Reply via email to