From patchwork Mon Apr 14 09:39:21 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marc Glisse X-Patchwork-Id: 338891 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id E3F3E14007D for ; Mon, 14 Apr 2014 19:39:35 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type :content-id; q=dns; s=default; b=YNp7uJwuykoUcL17QBlgTs0X5Sh7g3v GHBgRMMwAbQri/jDHgdwWff5xs0H7iI2DR6+6KVnpI3ssYGTUBQBMyIr1M9FnMB+ 61HHnmC3xpiw5ANzp1QB74RrZFEZK3CTgkbBBJifvdJdSyFvmCYaevLgXLIqjXxs qYYz4BK9LKpA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type :content-id; s=default; bh=srj7JmnhXyxJAHSavARwb7mf0xw=; b=bBygy qeoHapjjCpFFKZW/CSfPLdGaKtuTbee8bIPrfRFnc4/4akRkN4nyuqTRI6uTgG2k yEQgBtOJPfnTyvWIB8wOX2eGHzLdQL9HCEYNTqFyVan4UdUU5x0t3dckpxX+BpQM IHk6yT+gfAayCg0N5xFaxry8zKtsoyhMes0peU= Received: (qmail 19559 invoked by alias); 14 Apr 2014 09:39:28 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 19538 invoked by uid 89); 14 Apr 2014 09:39:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.2 required=5.0 tests=AWL, BAYES_00, KAM_STOCKTIP, RP_MATCHES_RCVD autolearn=no version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail2-relais-roc.national.inria.fr Received: from mail2-relais-roc.national.inria.fr (HELO mail2-relais-roc.national.inria.fr) (192.134.164.83) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Mon, 14 Apr 2014 09:39:24 +0000 Received: from stedding.saclay.inria.fr ([193.55.250.194]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-SHA; 14 Apr 2014 11:39:21 +0200 Received: from glisse (helo=localhost) by stedding.saclay.inria.fr with local-esmtp (Exim 4.82) (envelope-from ) id 1WZdMH-00084l-BX; Mon, 14 Apr 2014 11:39:21 +0200 Date: Mon, 14 Apr 2014 11:39:21 +0200 (CEST) From: Marc Glisse To: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org Subject: version typeinfo for 128bit types Message-ID: User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-ID: 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 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. 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;