On Tue, Feb 15, 2011 at 5:40 PM, Florian Weimer <fwei...@bfk.de> wrote: > * Andrew John Hughes: > >> So yes, that means we use the system zlib (currently 1.2.5 here), jpeg >> (8c) and png (1.4.5). 1.10 will also finally remove the static >> linking of libstdc++ and libgcc. This was done back in the early days >> of IcedTea as part of preparing OpenJDK for distro packaging, allowing >> these libraries to receive timely security updates and bug fixes. > > It also increases compatibility with systems which use a different > zlib version. The symbols of the version in OpenJDK haven't been > mangled, and the VM crashes if the wrong routines are called due to a > symbol clash. >
Such symbol clashes are ultimately caused by the fact that ELF is probably the only binary file format left today to use the moronic idea of process-scoped symbol lookup. The JVM could work around it by using the RTLD_DEEPBIND flag to dlopen() on Linux, and by linking libraries with "-Bdirect" on Solaris. Other ELF-using operating systems (BSD?) are probably out of luck. Damjan Jovanovic