Hi,

when I first imported the new C++ stack with libc++, libc++abi and
libunwind I wanted to find out if we really needed libc++abi as a
shared library or not.  Thus so far only libc++ is a shared object,
while libc++abi is only provided as .a.  My reasoning was that the
ABI should never change, while the standard C++ library, which sits
on top of the ABI, can. It turns out that libc++ (well, who would
have thought) depends on libc++abi bits that are not linked in when
using LLD.  That probably is because libc++ does not do DT_NEEDED on
libc++abi.  Considering that our clang is configured to always link
with -lc++ and -lc++abi I thought this should just work, but LLD seems
to be a bit stricter on the dependencies.

Now we could start to link libc++ to libc++abi, but I think we should
simply provide libc++abi as shared object as well.

Thoughts? ok?

Patrick

diff --git a/lib/libcxxabi/shlib_version b/lib/libcxxabi/shlib_version
new file mode 100644
index 00000000000..97c9f92d6b8
--- /dev/null
+++ b/lib/libcxxabi/shlib_version
@@ -0,0 +1,2 @@
+major=0
+minor=0

Reply via email to