From: W. Mark Kubacki Date: Wed, 29 Nov 2017 23:43:38 +0000 (+0100) Subject: lib: don't export all symbols, just everything curl_* X-Git-Tag: curl-7_58_0~127 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4b414249107a782dca26926caa2947b9820d5255;p=curl lib: don't export all symbols, just everything curl_* Absent any 'symbol map' or script to limit what gets exported, static linking of libraries previously resulted in a libcurl with curl's and those other symbols being (re-)exported. This did not happen if 'versioned symbols' were enabled (which is not the default) because then a version script is employed. This limits exports to everything starting in 'curl_*'., which is what "libcurl.vers" exports. This avoids strange side-effects such as with mixing methods from system libraries and those erroneously offered by libcurl. Closes #2127 --- diff --git a/lib/Makefile.am b/lib/Makefile.am index 151c2615e..87c64f3a8 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -106,6 +106,8 @@ endif if CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS libcurl_la_LDFLAGS_EXTRA += -Wl,--version-script=libcurl.vers +else +libcurl_la_LDFLAGS_EXTRA += -export-symbols-regex '^curl_.*' endif if USE_CPPFLAG_CURL_STATICLIB