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
This commit is contained in:
W. Mark Kubacki 2017-11-30 00:43:38 +01:00 committed by Daniel Stenberg
parent 9194a9959b
commit 4b41424910
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
1 changed files with 2 additions and 0 deletions

View File

@ -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