[cfe-dev] Curious about libcxx __libcpp_nmstr design

Yaron Keren yaron.keren at gmail.com
Wed Oct 9 07:46:55 PDT 2013


You can have exactly the same configuration on Windows.  I just built
libcxx to use either libcxxabi or libsupc++, you could do the same with
libstdc++. I'm trying to diagnose weird exception issues.

However with Windows 99% of the people will download a pre-compiled
distribution from
http://sourceforge.net/projects/mingwbuilds/
or
http://www.mingw.org/
and will not rebuild from sources as is common in FreeBSD or Linux.

Both these popular distributions provide libsupc++.a as a static library
and libstdc++ linked against it so the abi is not easily replaceable.

Yaron



2013/10/9 David Chisnall <David.Chisnall at cl.cam.ac.uk>

> On 9 Oct 2013, at 13:59, Yaron Keren <yaron.keren at gmail.com> wrote:
>
> > BTW, MingW libstdc++ standard DLL build statically links libsupc++ so
> it's not replaceable. If libcxxabi.dll is also around, two copies of the
> ABI will exist linked at the same time to different parts of the programs.
>
> On FreeBSD, we made libsupc++ and libcxxrt into shared libraries and then
> built libstdc++ as a filter library.  It then links to either libsupc++ or
> libcxxrt and programs that use it will see the ABI library's symbols as if
> they had the same symbol version as the old ones in libstdc++.
>
> This does require linking libstdc++ in a special way, but it doesn't
> require recompiling any code that links to libstdc++.  I wonder if a
> similar solution would be possible for Windows?
>
> David
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20131009/205a377c/attachment.html>


More information about the cfe-dev mailing list