RFR: JDK-8200358 Remove mapfiles for JDK executables
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