On Wed, Mar 28, 2018 at 12:07 PM, Magnus Ihse Bursie < magnus.ihse.bur...@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.