Florian Weimer wrote:
* Martin Buchholz:

  45 +#ifdef _LP64
  46 +typedef unsigned int  uLong;  /* 32 bits or more */
  47 +#else
  48  typedef unsigned long  uLong; /* 32 bits or more */
  49 +#endif

This is guaranteed to break interoperability with the system zlib.  If
you want to make such adjustments, you really have to rename all
functions to avoid name clashes.  Such clashes materialize if you load
a DSO which contains code linked to the system zlib (usually via JNI).

Technically, this is not a regression because OpenJDK's existing zlib
1.1 code is incompatible with 1.2 zlibs used on most systems, so the
same problem happens.


None of the zlib functions/methods is exported from libzip.o as "glocal" symbol, we are using make/java/zip/mapfile_vers to make them "local". Those zlib methods are supposed to be only accessed by our "own" jar/zip jnis. So what is exactly the "interoperability with the system
zlib" concern here?

Sherman



Reply via email to