NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/58829 CVS commit: src/external/bsd/libarchive/lib/libarchive



The following reply was made to PR lib/58829; it has been noted by GNATS.

From: "Taylor R Campbell" <riastradh%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/58829 CVS commit: src/external/bsd/libarchive/lib/libarchive
Date: Thu, 21 Nov 2024 18:17:40 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Thu Nov 21 18:17:40 UTC 2024
 
 Modified Files:
 	src/external/bsd/libarchive/lib/libarchive: Makefile
 
 Log Message:
 libarchive: Export only public symbols.
 
 1. Build with -fvisibility=hidden -D__LIBARCHIVE_ENABLE_VISIBILITY,
    which is upstream's supported way to export only public symbols.
 
    => Verified that this only suppresses symbols which are _not_
       declared in libarchive's public header files.
 
 2. Link with -Wl,--exclude-libs,libzstd so that statically linked
    libzstd symbols aren't exported.
 
    => Verified that this only suppresses libzstd symbols which are not
       part of libarchive at all.
 
 This deletes exported symbols from a shared library -- but only those
 that should never have been exported to begin with, and that can't be
 used by normal libarchive applications without going out of their way
 to get at internal symbols.  In fact, some of these symbols, like
 blake2s_init, are likely to collide with other libraries or
 applications.
 
 So while this technically violates the letter of shlib major rules
 and releng pullup rules by deleting exported symbols, I'm not bumping
 and I intend to pull this up to 10 (and maybe 9) -- because I suspect
 it is more likely that libarchive's private symbols will conflict
 with other uses in real applications than that real applications will
 rely on libarchive's private symbols.
 
 PR lib/58829: libarchive exports excess symbols
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.19 -r1.20 \
     src/external/bsd/libarchive/lib/libarchive/Makefile
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index