This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
version typeinfo for 128bit types
- From: Marc Glisse <marc dot glisse at inria dot fr>
- To: gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Date: Mon, 14 Apr 2014 11:39:21 +0200 (CEST)
- Subject: version typeinfo for 128bit types
- Authentication-results: sourceware.org; auth=none
Hello,
this is a follow-up for this patch:
http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00618.html
once committed, g++ will generate typeinfo for __float128, and it needs
versioning. While there, I noticed that __int128 has "typeinfo" but not
"typeinfo name", so I am adding it. I manually checked that the new
symbols were exactly the 12 I expected, with the new version number.
I did not test the gnu-versioned-namespace version.
I manually updated baseline for x86_64. It is awfully inconvenient to do.
I was expecting "make new-abi-baseline" to generate it for me, but it
gives me plenty of extra symbols compared to the current one. Some random
examples:
FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_@@GLIBCXX_3.4
FUNC:_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_@@GLIBCXX_3.4
FUNC:_ZSt19__iterator_categoryIPKmENSt15iterator_traitsIT_E17iterator_categoryERKS3_@@GLIBCXX_3.4
FUNC:_ZSt13__check_facetISt7codecvtIwc11__mbstate_tEERKT_PS4_@@GLIBCXX_3.4
FUNC:_ZSt13__check_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_PS7_@@GLIBCXX_3.4
FUNC:_ZNSt9exceptionC1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8iteratorISt18input_iterator_tagclPcRcEC1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8ios_base4setfESt13_Ios_FmtflagsS0_@@GLIBCXX_3.4
FUNC:_ZNSt7complexIfEC1Eff@@GLIBCXX_3.4
FUNC:_ZNSt6chrono13duration_castINS_8durationIlSt5ratioILl1ELl1000000000EEEElS2_ILl1ELl1EEEENSt9enable_ifIXsrNS_13__is_durationIT_EE5valueES8_E4typeERKNS1_IT0_T1_EE@@GLIBCXX_3.4
FUNC:_ZNSt20bad_array_new_lengthC2Ev@@CXXABI_1.3.8
FUNC:_ZNSt14numeric_limitsIdE8infinityEv@@GLIBCXX_3.4
FUNC:_ZN10__cxxabiv117__class_type_info16__dyncast_resultC1Ei@@CXXABI_1.3
etc.
Bootstrap+testsuite on x86_64-linux-gnu.
2014-04-14 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/43622
* config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
* config/abi/pre/gnu-versioned-namespace.ver: New symbols.
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
--
Marc Glisse
Index: config/abi/post/x86_64-linux-gnu/baseline_symbols.txt
===================================================================
--- config/abi/post/x86_64-linux-gnu/baseline_symbols.txt (revision 209354)
+++ config/abi/post/x86_64-linux-gnu/baseline_symbols.txt (working copy)
@@ -2513,20 +2513,21 @@ FUNC:atomic_flag_clear_explicit@@GLIBCXX
FUNC:atomic_flag_test_and_set_explicit@@GLIBCXX_3.4.11
OBJECT:0:CXXABI_1.3
OBJECT:0:CXXABI_1.3.1
OBJECT:0:CXXABI_1.3.2
OBJECT:0:CXXABI_1.3.3
OBJECT:0:CXXABI_1.3.4
OBJECT:0:CXXABI_1.3.5
OBJECT:0:CXXABI_1.3.6
OBJECT:0:CXXABI_1.3.7
OBJECT:0:CXXABI_1.3.8
+OBJECT:0:CXXABI_1.3.9
OBJECT:0:CXXABI_TM_1
OBJECT:0:GLIBCXX_3.4
OBJECT:0:GLIBCXX_3.4.1
OBJECT:0:GLIBCXX_3.4.10
OBJECT:0:GLIBCXX_3.4.11
OBJECT:0:GLIBCXX_3.4.12
OBJECT:0:GLIBCXX_3.4.13
OBJECT:0:GLIBCXX_3.4.14
OBJECT:0:GLIBCXX_3.4.15
OBJECT:0:GLIBCXX_3.4.16
@@ -2617,20 +2618,21 @@ OBJECT:16:_ZTISt16nested_exception@@CXXA
OBJECT:16:_ZTISt8ios_base@@GLIBCXX_3.4
OBJECT:16:_ZTISt9exception@@GLIBCXX_3.4
OBJECT:16:_ZTISt9time_base@@GLIBCXX_3.4
OBJECT:16:_ZTISt9type_info@@GLIBCXX_3.4
OBJECT:16:_ZTIa@@CXXABI_1.3
OBJECT:16:_ZTIb@@CXXABI_1.3
OBJECT:16:_ZTIc@@CXXABI_1.3
OBJECT:16:_ZTId@@CXXABI_1.3
OBJECT:16:_ZTIe@@CXXABI_1.3
OBJECT:16:_ZTIf@@CXXABI_1.3
+OBJECT:16:_ZTIg@@CXXABI_1.3.9
OBJECT:16:_ZTIh@@CXXABI_1.3
OBJECT:16:_ZTIi@@CXXABI_1.3
OBJECT:16:_ZTIj@@CXXABI_1.3
OBJECT:16:_ZTIl@@CXXABI_1.3
OBJECT:16:_ZTIm@@CXXABI_1.3
OBJECT:16:_ZTIn@@CXXABI_1.3.5
OBJECT:16:_ZTIo@@CXXABI_1.3.5
OBJECT:16:_ZTIs@@CXXABI_1.3
OBJECT:16:_ZTIt@@CXXABI_1.3
OBJECT:16:_ZTIv@@CXXABI_1.3
@@ -3117,25 +3119,28 @@ OBJECT:2:_ZNSt10ctype_base5printE@@GLIBC
OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
OBJECT:2:_ZTSa@@CXXABI_1.3
OBJECT:2:_ZTSb@@CXXABI_1.3
OBJECT:2:_ZTSc@@CXXABI_1.3
OBJECT:2:_ZTSd@@CXXABI_1.3
OBJECT:2:_ZTSe@@CXXABI_1.3
OBJECT:2:_ZTSf@@CXXABI_1.3
+OBJECT:2:_ZTSg@@CXXABI_1.3.9
OBJECT:2:_ZTSh@@CXXABI_1.3
OBJECT:2:_ZTSi@@CXXABI_1.3
OBJECT:2:_ZTSj@@CXXABI_1.3
OBJECT:2:_ZTSl@@CXXABI_1.3
OBJECT:2:_ZTSm@@CXXABI_1.3
+OBJECT:2:_ZTSn@@CXXABI_1.3.9
+OBJECT:2:_ZTSo@@CXXABI_1.3.9
OBJECT:2:_ZTSs@@CXXABI_1.3
OBJECT:2:_ZTSt@@CXXABI_1.3
OBJECT:2:_ZTSv@@CXXABI_1.3
OBJECT:2:_ZTSw@@CXXABI_1.3
OBJECT:2:_ZTSx@@CXXABI_1.3
OBJECT:2:_ZTSy@@CXXABI_1.3
OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
OBJECT:32:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
OBJECT:32:_ZTIPDd@@CXXABI_1.3.4
OBJECT:32:_ZTIPDe@@CXXABI_1.3.4
@@ -3148,39 +3153,41 @@ OBJECT:32:_ZTIPKDe@@CXXABI_1.3.4
OBJECT:32:_ZTIPKDf@@CXXABI_1.3.4
OBJECT:32:_ZTIPKDi@@CXXABI_1.3.3
OBJECT:32:_ZTIPKDn@@CXXABI_1.3.5
OBJECT:32:_ZTIPKDs@@CXXABI_1.3.3
OBJECT:32:_ZTIPKa@@CXXABI_1.3
OBJECT:32:_ZTIPKb@@CXXABI_1.3
OBJECT:32:_ZTIPKc@@CXXABI_1.3
OBJECT:32:_ZTIPKd@@CXXABI_1.3
OBJECT:32:_ZTIPKe@@CXXABI_1.3
OBJECT:32:_ZTIPKf@@CXXABI_1.3
+OBJECT:32:_ZTIPKg@@CXXABI_1.3.9
OBJECT:32:_ZTIPKh@@CXXABI_1.3
OBJECT:32:_ZTIPKi@@CXXABI_1.3
OBJECT:32:_ZTIPKj@@CXXABI_1.3
OBJECT:32:_ZTIPKl@@CXXABI_1.3
OBJECT:32:_ZTIPKm@@CXXABI_1.3
OBJECT:32:_ZTIPKn@@CXXABI_1.3.5
OBJECT:32:_ZTIPKo@@CXXABI_1.3.5
OBJECT:32:_ZTIPKs@@CXXABI_1.3
OBJECT:32:_ZTIPKt@@CXXABI_1.3
OBJECT:32:_ZTIPKv@@CXXABI_1.3
OBJECT:32:_ZTIPKw@@CXXABI_1.3
OBJECT:32:_ZTIPKx@@CXXABI_1.3
OBJECT:32:_ZTIPKy@@CXXABI_1.3
OBJECT:32:_ZTIPa@@CXXABI_1.3
OBJECT:32:_ZTIPb@@CXXABI_1.3
OBJECT:32:_ZTIPc@@CXXABI_1.3
OBJECT:32:_ZTIPd@@CXXABI_1.3
OBJECT:32:_ZTIPe@@CXXABI_1.3
OBJECT:32:_ZTIPf@@CXXABI_1.3
+OBJECT:32:_ZTIPg@@CXXABI_1.3.9
OBJECT:32:_ZTIPh@@CXXABI_1.3
OBJECT:32:_ZTIPi@@CXXABI_1.3
OBJECT:32:_ZTIPj@@CXXABI_1.3
OBJECT:32:_ZTIPl@@CXXABI_1.3
OBJECT:32:_ZTIPm@@CXXABI_1.3
OBJECT:32:_ZTIPn@@CXXABI_1.3.5
OBJECT:32:_ZTIPo@@CXXABI_1.3.5
OBJECT:32:_ZTIPs@@CXXABI_1.3
OBJECT:32:_ZTIPt@@CXXABI_1.3
OBJECT:32:_ZTIPv@@CXXABI_1.3
@@ -3221,25 +3228,28 @@ OBJECT:39:_ZTSSt13basic_filebufIwSt11cha
OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
OBJECT:3:_ZTSPa@@CXXABI_1.3
OBJECT:3:_ZTSPb@@CXXABI_1.3
OBJECT:3:_ZTSPc@@CXXABI_1.3
OBJECT:3:_ZTSPd@@CXXABI_1.3
OBJECT:3:_ZTSPe@@CXXABI_1.3
OBJECT:3:_ZTSPf@@CXXABI_1.3
+OBJECT:3:_ZTSPg@@CXXABI_1.3.9
OBJECT:3:_ZTSPh@@CXXABI_1.3
OBJECT:3:_ZTSPi@@CXXABI_1.3
OBJECT:3:_ZTSPj@@CXXABI_1.3
OBJECT:3:_ZTSPl@@CXXABI_1.3
OBJECT:3:_ZTSPm@@CXXABI_1.3
+OBJECT:3:_ZTSPn@@CXXABI_1.3.9
+OBJECT:3:_ZTSPo@@CXXABI_1.3.9
OBJECT:3:_ZTSPs@@CXXABI_1.3
OBJECT:3:_ZTSPt@@CXXABI_1.3
OBJECT:3:_ZTSPv@@CXXABI_1.3
OBJECT:3:_ZTSPw@@CXXABI_1.3
OBJECT:3:_ZTSPx@@CXXABI_1.3
OBJECT:3:_ZTSPy@@CXXABI_1.3
OBJECT:3:_ZTSSd@@GLIBCXX_3.4
OBJECT:3:_ZTSSi@@GLIBCXX_3.4
OBJECT:3:_ZTSSo@@GLIBCXX_3.4
OBJECT:40:_ZTISi@@GLIBCXX_3.4
@@ -3548,25 +3558,28 @@ OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBC
OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
OBJECT:4:_ZTSPKa@@CXXABI_1.3
OBJECT:4:_ZTSPKb@@CXXABI_1.3
OBJECT:4:_ZTSPKc@@CXXABI_1.3
OBJECT:4:_ZTSPKd@@CXXABI_1.3
OBJECT:4:_ZTSPKe@@CXXABI_1.3
OBJECT:4:_ZTSPKf@@CXXABI_1.3
+OBJECT:4:_ZTSPKg@@CXXABI_1.3.9
OBJECT:4:_ZTSPKh@@CXXABI_1.3
OBJECT:4:_ZTSPKi@@CXXABI_1.3
OBJECT:4:_ZTSPKj@@CXXABI_1.3
OBJECT:4:_ZTSPKl@@CXXABI_1.3
OBJECT:4:_ZTSPKm@@CXXABI_1.3
+OBJECT:4:_ZTSPKn@@CXXABI_1.3.9
+OBJECT:4:_ZTSPKo@@CXXABI_1.3.9
OBJECT:4:_ZTSPKs@@CXXABI_1.3
OBJECT:4:_ZTSPKt@@CXXABI_1.3
OBJECT:4:_ZTSPKv@@CXXABI_1.3
OBJECT:4:_ZTSPKw@@CXXABI_1.3
OBJECT:4:_ZTSPKx@@CXXABI_1.3
OBJECT:4:_ZTSPKy@@CXXABI_1.3
OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
Index: config/abi/pre/gnu-versioned-namespace.ver
===================================================================
--- config/abi/pre/gnu-versioned-namespace.ver (revision 209354)
+++ config/abi/pre/gnu-versioned-namespace.ver (working copy)
@@ -314,24 +314,24 @@ CXXABI_2.0 {
# typeinfo for decimal floating point types
_ZTID[fde];
_ZTIPD[fde];
_ZTIPKD[fde];
# typeinfo for decltype(nullptr)
_ZTIDn;
_ZTIPDn;
_ZTIPKDn;
- # typeinfo for __int128 and unsigned __int128
- _ZTI[no];
- _ZTIP[no];
- _ZTIPK[no];
+ # typeinfo for __int128, unsigned __int128 and __float128
+ _ZTI[gno];
+ _ZTIP[gno];
+ _ZTIPK[gno];
# virtual table
_ZTVN10__cxxabiv117__array_type_infoE;
_ZTVN10__cxxabiv117__class_type_infoE;
_ZTVN10__cxxabiv116__enum_type_infoE;
_ZTVN10__cxxabiv120__function_type_infoE;
_ZTVN10__cxxabiv123__fundamental_type_infoE;
_ZTVN10__cxxabiv117__pbase_type_infoE;
_ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
_ZTVN10__cxxabiv119__pointer_type_infoE;
Index: config/abi/pre/gnu.ver
===================================================================
--- config/abi/pre/gnu.ver (revision 209354)
+++ config/abi/pre/gnu.ver (working copy)
@@ -1584,10 +1584,24 @@ CXXABI_1.3.8 {
} CXXABI_1.3.7;
# Symbols in the support library (libsupc++) supporting transactional memory.
CXXABI_TM_1 {
global:
__cxa_tm_cleanup;
};
+
+CXXABI_1.3.9 {
+
+ # typeinfo name for __int128, unsigned __int128 and __float128
+ _ZTS[gno];
+ _ZTSP[gno];
+ _ZTSPK[gno];
+
+ # typeinfo for __float128
+ _ZTIg;
+ _ZTIPg;
+ _ZTIPKg;
+
+} CXXABI_1.3.8;