Apache OpenOffice (AOO) Bugzilla – Issue 17841
unzip exporting crazy global symbols ...
Last modified: 2004-01-28 09:46:24 UTC
This small patch makes me sleep better at night, since it stops libzipNNN.so exporting global symbols like 'statbuf', 'aflags', 'match', 'area', 'hold' and other equally silly things. May I commit ? --- /dev/null 2003-01-30 10:24:37.000000000 +0000 +++ unzip/util/svunzip.map 2003-08-04 10:06:01.000000000 +0100 @@ -0,0 +1,9 @@ +SVUNZIP_1_0 { + global: + getCRC32; + SVUnzip; + SVUnzipEnumFiles; + GetVersionInfo; + local: + *; +}; Index: unzip/util/makefile.mk =================================================================== RCS file: /cvs/util/unzip/util/makefile.mk,v retrieving revision 1.3 diff -u -p -u -r1.3 makefile.mk --- unzip/util/makefile.mk 13 Aug 2002 12:58:26 -0000 1.3 +++ unzip/util/makefile.mk 4 Aug 2003 09:01:35 -0000 @@ -88,6 +88,7 @@ LIB1FILES= \ SHL1TARGET=zip$(UPD)$(DLLPOSTFIX) SHL1IMPLIB= i$(TARGET) SHL1LIBS=$(LIB2TARGET) +SHL1VERSIONMAP= $(TARGET).map SHL1DEF= $(MISC)$/$(SHL1TARGET).def .ENDIF
mh->dv: should we consider this for 1.1.1 ?
Hi all, Without doubt, Michael's patch is the right thing to do. The only thing that needs verification, is the completeness of the exported symbols. As I don't know of any reverse dependencies of 'libzip...so' (other shared libraries linking against libzip$(UPD)...), I assume that it is only dynamically loaded. Thus, we would need to find (or make) some *definition* of what the API of libzip$(UPD)... really is. Not just an 'arbitrary' mapfile. But otherwise, yes please go ahead as proposed. Matthias
Hi Dirk, Michael, a quick look into 'unzip/prj/d.lst' (delivering one header file, only, i.e. 'svunzip.h') and into 'unzip/inc/svunzip.h' shows, that Michael's mapfile exactly fits. Thus, libzip$(UPD)...so implements an API consisting of three symbols, namely 'getCRC32', 'SVUnzip' and 'SVUnzipEnumFiles'. So the patch is correct and approved. Matthias
.
Fixed in cws SetupPP01.
Please verify.
Looks good for me.
Verified in cws setuppp01.