From patchwork Mon Mar 21 19:16:02 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jakub Jelinek X-Patchwork-Id: 87815 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]) by ozlabs.org (Postfix) with SMTP id C71F2B6F44 for ; Tue, 22 Mar 2011 06:16:29 +1100 (EST) Received: (qmail 19632 invoked by alias); 21 Mar 2011 19:16:18 -0000 Received: (qmail 19592 invoked by uid 22791); 21 Mar 2011 19:16:17 -0000 X-SWARE-Spam-Status: No, hits=-6.4 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_HI, SPF_HELO_PASS, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 21 Mar 2011 19:16:06 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p2LJG43h031858 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 21 Mar 2011 15:16:04 -0400 Received: from tyan-ft48-01.lab.bos.redhat.com (tyan-ft48-01.lab.bos.redhat.com [10.16.42.4]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p2LJG3N3015002 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 21 Mar 2011 15:16:04 -0400 Received: from tyan-ft48-01.lab.bos.redhat.com (localhost.localdomain [127.0.0.1]) by tyan-ft48-01.lab.bos.redhat.com (8.14.4/8.14.4) with ESMTP id p2LJG3kt019433; Mon, 21 Mar 2011 20:16:03 +0100 Received: (from jakub@localhost) by tyan-ft48-01.lab.bos.redhat.com (8.14.4/8.14.4/Submit) id p2LJG2AD019432; Mon, 21 Mar 2011 20:16:02 +0100 Date: Mon, 21 Mar 2011 20:16:02 +0100 From: Jakub Jelinek To: Benjamin Kosnik Cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH] libstdc++ ABI issues with __int128 Message-ID: <20110321191602.GA18914@tyan-ft48-01.lab.bos.redhat.com> Reply-To: Jakub Jelinek References: <20110321091546.GU30899@tyan-ft48-01.lab.bos.redhat.com> <20110321170646.GX30899@tyan-ft48-01.lab.bos.redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes 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 On Mon, Mar 21, 2011 at 07:32:14PM +0100, Benjamin Kosnik wrote: > > Well, such stricter checking wouldn't be completely painless, e.g. currently > > both current baseline_symbols.txt and the ones I've posted don't include the > > two TLS: lines, because of the fear that not everyone has TLS enabled. > > If baseline_symbols.txt right now miss some symbols, it is not a big deal > > if it is not in the base version (with my patch base versions), but with > > stricter checking it would complain.  Either we'd just say that TLS is > > assumed on these targets and add the TLS: lines, or we'd need to invent > > some symbol conditionalizing or something. > > We will keep on doing the present solution for libstdc++.so.6 and > invent something clever later. After offline discussion with Benjamin I've committed http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01175.html http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01246.html and the attached two patches to trunk and 4.6 after regtesting on x86_64-linux. Jakub 2011-03-21 Benjamin Kosnik * config/abi/pre/gnu.ver: Remove typeinfo name exports for C++0x types. --- libstdc++-v3/config/abi/pre/gnu.ver +++ libstdc++-v3/config/abi/pre/gnu.ver @@ -1231,7 +1231,6 @@ GLIBCXX_3.4.15 { _ZNSt11regex_errorD*; _ZNKSt11regex_error4whatEv; - _ZTSSt11regex_error; _ZTVSt11regex_error; _ZTISt11regex_error; _ZSt19__throw_regex_errorNSt15regex_constants10error_typeE; @@ -1239,14 +1238,12 @@ GLIBCXX_3.4.15 { # std::bad_weak_ptr _ZNSt12bad_weak_ptrD*; _ZNKSt12bad_weak_ptr4whatEv; - _ZTSSt12bad_weak_ptr; _ZTVSt12bad_weak_ptr; _ZTISt12bad_weak_ptr; # std::bad_function_call _ZNSt17bad_function_callD*; _ZTISt17bad_function_call; - _ZTSSt17bad_function_call; _ZTVSt17bad_function_call; _ZNSt14error_categoryC*; @@ -1255,12 +1252,10 @@ GLIBCXX_3.4.15 { _ZNSt13__future_base12_Result_baseC*; _ZNSt13__future_base12_Result_baseD*; _ZTINSt13__future_base12_Result_baseE; - _ZTSNSt13__future_base12_Result_baseE; _ZTVNSt13__future_base12_Result_baseE; _ZNSt13__future_base11_State_baseD*; _ZTINSt13__future_base11_State_baseE; - _ZTSNSt13__future_base11_State_baseE; _ZTVNSt13__future_base11_State_baseE; } GLIBCXX_3.4.14; @@ -1444,7 +1439,6 @@ CXXABI_1.3.5 { # std::nested_exception _ZNSt16nested_exceptionD*; _ZTISt16nested_exception; - _ZTSSt16nested_exception; _ZTVSt16nested_exception; } CXXABI_1.3.4;