summaryrefslogtreecommitdiffstats
path: root/libcxx/lib
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/lib')
-rwxr-xr-xlibcxx/lib/buildit2
-rw-r--r--libcxx/lib/libc++unexp.exp19
2 files changed, 21 insertions, 0 deletions
diff --git a/libcxx/lib/buildit b/libcxx/lib/buildit
index db22942831b..e296f021820 100755
--- a/libcxx/lib/buildit
+++ b/libcxx/lib/buildit
@@ -41,6 +41,7 @@ case $TRIPLE in
-compatibility_version 1 \
-install_name /usr/lib/libc++.dylib \
-Wl,-reexport_library,/usr/lib/libc++abi.dylib \
+ -Wl,-unexported_symbols_list,libc++unexp.exp \
/usr/lib/libSystem.B.dylib"
else
LDSHARED_FLAGS="-o libc++.1.dylib \
@@ -49,6 +50,7 @@ case $TRIPLE in
-install_name /usr/lib/libc++.dylib \
${SDKROOT}/usr/lib/libc++abi.dylib \
-lSystem \
+ -Wl,-unexported_symbols_list,libc++unexp.exp \
-Wl,-reexported_symbols_list,libc++abi.exp \
-Wl,-force_symbols_not_weak_list,notweak.exp"
fi
diff --git a/libcxx/lib/libc++unexp.exp b/libcxx/lib/libc++unexp.exp
new file mode 100644
index 00000000000..9507fc57f18
--- /dev/null
+++ b/libcxx/lib/libc++unexp.exp
@@ -0,0 +1,19 @@
+# all guard variables
+__ZGVNSt3__*
+# all vtables
+# __ZTV*
+# all VTT
+# __ZTT*
+# all non-virtual thunks
+# __ZTh*
+# all virtual thunks
+# __ZTv*
+# typeinfo for std::__1::__types
+# There are no std::__types
+# __ZTINSt3__1[0-9][0-9]*__*
+# typeinfo name for std::__1::__types
+__ZTSNSt3__1[0-9][0-9]*__*
+# anything using __hidden_allocator
+*__hidden_allocator*
+# anything using __sso_allocator
+*__sso_allocator*
OpenPOWER on IntegriCloud