Hi,
I got error "dlopen failed: empty/missing DT_HASH in "libvulkan.so" (built with --hash-style=gnu?)" when my app tried to load that library.
I'm using both Note 4 & Z5 for testing but both failed to load
Is this library really built with GNU HASH? I tried readelf and the results are below
########################################
readelf -d libvulkan.so
Dynamic section at offset 0x13b18 contains 35 entries:
Tag Type Name/Value
0x00000003 (PLTGOT) 0x14c94
0x00000002 (PLTRELSZ) 1728 (bytes)
0x00000017 (JMPREL) 0x3de8
0x00000014 (PLTREL) REL
0x00000011 (REL) 0x2b98
0x00000012 (RELSZ) 4688 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffa (RELCOUNT) 409
0x00000006 (SYMTAB) 0x1a0
0x0000000b (SYMENT) 16 (bytes)
0x00000005 (STRTAB) 0x1090
0x0000000a (STRSZ) 5013 (bytes)
0x6ffffef5 (GNU_HASH) 0x2428
0x00000001 (NEEDED) Shared library: [libhardware.so]
0x00000001 (NEEDED) Shared library: [liblog.so]
0x00000001 (NEEDED) Shared library: [libsync.so]
0x00000001 (NEEDED) Shared library: [libutils.so]
0x00000001 (NEEDED) Shared library: [libcutils.so]
0x00000001 (NEEDED) Shared library: [libc++.so]
0x00000001 (NEEDED) Shared library: [libdl.so]
0x00000001 (NEEDED) Shared library: [libc.so]
0x00000001 (NEEDED) Shared library: [libm.so]
0x0000000e (SONAME) Library soname: [libvulkan.so]
0x0000001a (FINI_ARRAY) 0x144b8
0x0000001c (FINI_ARRAYSZ) 4 (bytes)
0x00000019 (INIT_ARRAY) 0x14b14
0x0000001b (INIT_ARRAYSZ) 4 (bytes)
0x0000001e (FLAGS) BIND_NOW
0x6ffffffb (FLAGS_1) Flags: NOW
0x6ffffff0 (VERSYM) 0x294c
0x6ffffffc (VERDEF) 0x2b2c
0x6ffffffd (VERDEFNUM) 1
0x6ffffffe (VERNEED) 0x2b48
0x6fffffff (VERNEEDNUM) 2
0x00000000 (NULL) 0x0
########################################################
Do you have another version of this library built with SYSV hash style?
Thank you so much