[9] RFR: Static build of libzip is missing JNI_OnLoad_zip entry point

Naoto Sato naoto.sato at oracle.com
Wed May 25 16:44:54 UTC 2016


Attached is the output from "nm -g build/macosx_x64/jdk/lib/libzip.a" 
with the proposed fix applied. I see the symbol "_JNI_OnLoad_zip" in it. 
Am I missing something?

Naoto

On 5/25/16 9:01 AM, Gary Adams wrote:
> This fix will not work for the macosx static build.
> e.g. configure --enable-static-build=yes
>
> When linking static libraries the entry point for
> JNI_OnLoad_zip is needed to inform the symbol lookups
> to be performed on the current executable,
> rather than a dynamic library.
>
> On 05/24/16 19:47, Naoto Sato wrote:
>> Hello,
>>
>> The previous attempt to fix this one failed in the installer build, as
>> it does not recognize the added macro. I've updated the fix to add
>> extra check for static build (yeah, this is redundant with the real
>> jni_util.h, but effectively avoid the installer build failure).
>>
>> http://cr.openjdk.java.net/~naoto/8150179/webrev.01/
>>
>> Please review.
>>
>> Naoto
>
-------------- next part --------------

libzip.a(Adler32.o):
0000000000000000 T _Java_java_util_zip_Adler32_update
0000000000000090 T _Java_java_util_zip_Adler32_updateByteBuffer
0000000000000022 T _Java_java_util_zip_Adler32_updateBytes
                 U _adler32

libzip.a(CRC32.o):
0000000000000000 T _Java_java_util_zip_CRC32_update
000000000000009d T _Java_java_util_zip_CRC32_updateByteBuffer0
0000000000000022 T _Java_java_util_zip_CRC32_updateBytes0
0000000000000090 T _ZIP_CRC32
                 U _crc32

libzip.a(Deflater.o):
                 U _JNU_ThrowIllegalArgumentException
                 U _JNU_ThrowInternalError
                 U _JNU_ThrowOutOfMemoryError
00000000000002fd T _Java_java_util_zip_Deflater_deflateBytes
000000000000076b T _Java_java_util_zip_Deflater_end
0000000000000736 T _Java_java_util_zip_Deflater_getAdler
000000000000015f T _Java_java_util_zip_Deflater_init
0000000000000000 T _Java_java_util_zip_Deflater_initIDs
000000000000073f T _Java_java_util_zip_Deflater_reset
000000000000024e T _Java_java_util_zip_Deflater_setDictionary
                 U _calloc
                 U _deflate
                 U _deflateEnd
                 U _deflateInit2_
                 U _deflateParams
                 U _deflateReset
                 U _deflateSetDictionary
                 U _free

libzip.a(Inflater.o):
                 U _JNU_ThrowByName
                 U _JNU_ThrowIllegalArgumentException
                 U _JNU_ThrowInternalError
                 U _JNU_ThrowOutOfMemoryError
000000000000052d T _Java_java_util_zip_Inflater_end
00000000000004f8 T _Java_java_util_zip_Inflater_getAdler
0000000000000246 T _Java_java_util_zip_Inflater_inflateBytes
00000000000000d8 T _Java_java_util_zip_Inflater_init
0000000000000000 T _Java_java_util_zip_Inflater_initIDs
0000000000000501 T _Java_java_util_zip_Inflater_reset
0000000000000191 T _Java_java_util_zip_Inflater_setDictionary
                 U _calloc
                 U _free
                 U _inflate
                 U _inflateEnd
                 U _inflateInit2_
                 U _inflateReset
                 U _inflateSetDictionary

libzip.a(zip_util.o):
0000000000001de0 T _InflateFully
0000000000000000 T _JNI_OnLoad_zip
                 U _JVM_NativePath
                 U _JVM_RawMonitorCreate
                 U _JVM_RawMonitorDestroy
                 U _JVM_RawMonitorEnter
                 U _JVM_RawMonitorExit
0000000000001104 T _ZIP_Close
000000000000201a T _ZIP_FindEntry
0000000000001188 T _ZIP_FreeEntry
000000000000121a T _ZIP_GetEntry
0000000000001253 T _ZIP_GetEntry2
0000000000001c26 T _ZIP_GetEntryDataOffset
0000000000001bd7 T _ZIP_GetNextEntry
000000000000007f T _ZIP_Get_From_Cache
00000000000022b3 T _ZIP_InflateFully
00000000000011fe T _ZIP_Lock
00000000000010c5 T _ZIP_Open
000000000000000b T _ZIP_Open_Generic
00000000000001ce T _ZIP_Put_In_Cache
00000000000001de T _ZIP_Put_In_Cache0
0000000000001d25 T _ZIP_Read
000000000000206d T _ZIP_ReadEntry
000000000000120c T _ZIP_Unlock
                 U ___error
                 U ___memset_chk
                 U ___stack_chk_fail
                 U ___stack_chk_guard
                 U ___stderrp
                 U ___strcpy_chk
                 U _calloc
                 U _close
0000000000001422 T _equals
                 U _free
                 U _getErrorString
                 U _getLastErrorString
                 U _inflate
                 U _inflateEnd
                 U _inflateInit2_
                 U _jio_fprintf
                 U _lseek
                 U _malloc
                 U _memcpy
                 U _memset
                 U _mmap
                 U _munmap
                 U _open
                 U _read
                 U _realloc
                 U _strcmp
                 U _strcpy
                 U _strdup
                 U _strlen
                 U _sysconf


More information about the core-libs-dev mailing list