Closed xiedeacc closed 1 month ago
That's the commit implementing this feature for autotools, in case anyone is wondering what's it about: 7cc2e8b349df28d55d5f40bfae323485df9f0cf2
It's ld/lld-specific and on a quick glance can be enabled with CMake by passing a custom linker option (via -DCMAKE_SHARED_LINKER_FLAGS=
) with a custom control file.
The "version symbol flavour" value auto-generated by autotools looks somewhat accidental: no MultiSSL support, nor considering any other option besides TLS backend.
https://www.gnu.org/software/gnulib/manual/html_node/LD-Version-Scripts.html https://www.akkadia.org/drepper/dsohowto.pdf
That's the commit implementing this feature for autotools, in case anyone is wondering what's it about: 7cc2e8b
It's ld/ldd-specific and on a quick glance can be enabled with CMake by passing a custom linker option (via
-DCMAKE_SHARED_LINKER_FLAGS=
) with a custom control file.The "version symbol flavour" value auto-generated by autotools looks somewhat accidental: no MultiSSL support, nor considering any other option besides TLS backend.
👍
The "version symbol flavour" value auto-generated by autotools looks somewhat accidental: no MultiSSL support, nor considering any other option besides TLS backend.
It was added years before MultiSSL was and I assume not a lot of people have bothered, understood nor given this much attention.
Couple of observations / questions:
MULTISSL_
. Thinking of a CMake implementation, perhaps a custom string would make better sense?_rest*
, _save*
(and __*
?) function name masks in lib/libcurl.vers.in
: What may be their purpose? There aren't such symbols in curl now, and weren't at the time of the commit. (Deleting these lines didn't change the output in my tests.)--enable-symbol-hiding
/--disable-symbol-hiding
?ld
doesn't support this, neither does llvm's lld
for macOS.lib/libcurl.vers.in
.
I did this
I know we can use ./configure --enable-versioned-symbols l, but how to enable versioned symbols use cmake? can guys fix this?
I expected the following
No response
curl/libcurl version
curl 8.10.0-DEV (x86_64-pc-linux-gnu) libcurl/8.10.0-DEV OpenSSL/3.3.1 zlib/1.3.1.1-motley brotli/1.1.0 zstd/1.5.6 Release-Date: [unreleased] Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS brotli HSTS HTTPS-proxy IPv6 Largefile libz NTLM SSL threadsafe TLS-SRP UnixSockets zstd
operating system
ubuntu22.04