aboutsummaryrefslogtreecommitdiff
path: root/lib/libcxxrt
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-02-22 18:44:57 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-02-22 18:44:57 +0000
commite3c42855205e233688c851a0f4ce8fe9a0442866 (patch)
treeda543f5afd40a205afe2536af344af07de44c3a6 /lib/libcxxrt
parenta4806d2a62fb733970b96f438fedb929b564e08c (diff)
downloadsrc-e3c42855205e233688c851a0f4ce8fe9a0442866.tar.gz
src-e3c42855205e233688c851a0f4ce8fe9a0442866.zip
Surround any unmangled C++ names in libcxxrt's version map with 'extern
"C++"', otherwise ld refuses to make the symbols global in the final library. This causes the __int128-related symbols to go missing when the library is stripped during installation. Helpful hints: emaste MFC after: 2 weeks X-MFC-With: r314061
Notes
Notes: svn path=/head/; revision=314104
Diffstat (limited to 'lib/libcxxrt')
-rw-r--r--lib/libcxxrt/Version.map28
1 files changed, 16 insertions, 12 deletions
diff --git a/lib/libcxxrt/Version.map b/lib/libcxxrt/Version.map
index 5cb186072323..39f98e371146 100644
--- a/lib/libcxxrt/Version.map
+++ b/lib/libcxxrt/Version.map
@@ -255,12 +255,14 @@ CXXABI_1.3.1 {
} CXXABI_1.3;
CXXABI_1.3.5 {
- "typeinfo for __int128 const*";
- "typeinfo for __int128";
- "typeinfo for __int128*";
- "typeinfo for unsigned __int128 const*";
- "typeinfo for unsigned __int128";
- "typeinfo for unsigned __int128*";
+ extern "C++" {
+ "typeinfo for __int128 const*";
+ "typeinfo for __int128";
+ "typeinfo for __int128*";
+ "typeinfo for unsigned __int128 const*";
+ "typeinfo for unsigned __int128";
+ "typeinfo for unsigned __int128*";
+ };
} CXXABI_1.3.1;
CXXABI_1.3.6 {
@@ -268,12 +270,14 @@ CXXABI_1.3.6 {
} CXXABI_1.3.5;
CXXABI_1.3.9 {
- "typeinfo name for __int128 const*";
- "typeinfo name for __int128";
- "typeinfo name for __int128*";
- "typeinfo name for unsigned __int128 const*";
- "typeinfo name for unsigned __int128";
- "typeinfo name for unsigned __int128*";
+ extern "C++" {
+ "typeinfo name for __int128 const*";
+ "typeinfo name for __int128";
+ "typeinfo name for __int128*";
+ "typeinfo name for unsigned __int128 const*";
+ "typeinfo name for unsigned __int128";
+ "typeinfo name for unsigned __int128*";
+ };
} CXXABI_1.3.6;
CXXRT_1.0 {