diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-02-22 18:44:57 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-02-22 18:44:57 +0000 |
commit | e3c42855205e233688c851a0f4ce8fe9a0442866 (patch) | |
tree | da543f5afd40a205afe2536af344af07de44c3a6 /lib/libcxxrt | |
parent | a4806d2a62fb733970b96f438fedb929b564e08c (diff) | |
download | src-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.map | 28 |
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 { |