RFR: JDK-8200358 Remove mapfiles for JDK executables (original) (raw)

Martin Buchholz martinrb at google.com
Wed Mar 28 20:39:59 UTC 2018


On Wed, Mar 28, 2018 at 12:07 PM, Magnus Ihse Bursie < magnus.ihse.bursie at oracle.com> wrote:

Anyway, with this patch all symbols in executables will be visible, so there should be no problem anyway.

The symbols visible in the main executable are a sort-of-public interface. The difference is visible via e.g. nm -D, or any native code that does dlsym(NULL, symbolName) (yes, we do this!). The behavior of native code is likely to be affected if there is a symbol conflict. The larger the exported symbol table, the more overhead there will be at startup (probably). The theory is that changing an interface requires a CSR.

Exporting all symbols from a binary makes the product slightly less annoying to maintain while making the end product slightly worse, which is not usually what Java is about.



More information about the build-dev mailing list