From 4b414249107a782dca26926caa2947b9820d5255 Mon Sep 17 00:00:00 2001 From: "W. Mark Kubacki" Date: Thu, 30 Nov 2017 00:43:38 +0100 Subject: [PATCH] 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 --- lib/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) 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