On 27/03/2025 12:35 pm, René J.V. Bertin wrote:
Hi,

I've been experimenting with libc++ 17 which is a prerequisite to using GCC13+ 
with libc++ instead of libstdc++ .

I kept the static legacy-support library linking (may have had to, can't remember that) and just now realise that all the functions from that archive (or at least the from the modules that get pulled in) are exported by libc++ .

which libc++ in particular are you talking about here ? For sure the system libc++ will never export anything from legacysupport. The libc++ versions as provided by the MacPorts clang ports might well include some symbols from legacysupport, as its use is required to build these compilers on old systems. I don't thunk hiding these symbols in these versions is at all a good idea.

Which means that C++-based function availability checking via autoconf, cmake etc. give false positives on systems where those functions require legacy-support.

If you are intentionally using the libc++ libraries from the clang ports, its not really a false positive.


Is there a way to link the legacy-support archive privately that doesn't 
involve a significant overhaul of the build system?

I think this question is of (potential) interest beyond my libc++ experiment.

Thanks,
R.

Reply via email to