From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9030 invoked by alias); 9 Jan 2013 17:25:38 -0000 Received: (qmail 9012 invoked by uid 22791); 9 Jan 2013 17:25:35 -0000 X-SWARE-Spam-Status: No, hits=-5.7 required=5.0 tests=AWL,BAYES_00,KAM_STOCKGEN,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,RP_MATCHES_RCVD,SPF_HELO_PASS,TW_BJ 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; Wed, 09 Jan 2013 17:25:26 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r09HPODn002464 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 9 Jan 2013 12:25:24 -0500 Received: from barimba (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id r09HPLgU030000 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 9 Jan 2013 12:25:23 -0500 From: Tom Tromey To: Yao Qi Cc: Subject: Re: RFC: make GNU v3 ABI the default C++ ABI References: <874nir4og5.fsf@fleche.redhat.com> <50ECCDE2.4080602@codesourcery.com> Date: Wed, 09 Jan 2013 17:25:00 -0000 In-Reply-To: <50ECCDE2.4080602@codesourcery.com> (Yao Qi's message of "Wed, 9 Jan 2013 09:54:42 +0800") Message-ID: <87wqvmxo8u.fsf@fleche.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2013-01/txt/msg00176.txt.bz2 Tom> This patch makes the GNU v3 ABI the default ABI. Yao> We need a NEWS entry for this change, IMO. Here's an updated patch. This one needs a doc review. Tom * gnu-v2-abi.c (_initialize_gnu_v2_abi): Don't set default ABI. * gnu-v3-abi.c (_initialize_gnu_v3_abi): Set default ABI. * minsyms.c (install_minimal_symbols): Don't check for _Z symbols. * NEWS: Update. --- gdb/NEWS | 3 +++ gdb/gnu-v2-abi.c | 1 - gdb/gnu-v3-abi.c | 1 + gdb/minsyms.c | 23 ----------------------- 4 files changed, 4 insertions(+), 24 deletions(-) diff --git a/gdb/NEWS b/gdb/NEWS index 75a2119..191f726 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -44,6 +44,9 @@ Lynx 178 PowerPC powerpc-*-lynx*178 * The 'cd' command now defaults to using '~' (the home directory) if not given an argument. +* The C++ ABI now defaults to the GNU v3 ABI. This has been the + default for GCC since November 2000. + * The command 'forward-search' can now be abbreviated as 'fo'. * The command 'info tracepoints' can now display 'installed on target' diff --git a/gdb/gnu-v2-abi.c b/gdb/gnu-v2-abi.c index 4a600d3..c17955a 100644 --- a/gdb/gnu-v2-abi.c +++ b/gdb/gnu-v2-abi.c @@ -423,5 +423,4 @@ _initialize_gnu_v2_abi (void) { init_gnuv2_ops (); register_cp_abi (&gnu_v2_abi_ops); - set_cp_abi_as_auto_default (gnu_v2_abi_ops.shortname); } diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c index aef5ae0..641b2b1 100644 --- a/gdb/gnu-v3-abi.c +++ b/gdb/gnu-v3-abi.c @@ -1134,4 +1134,5 @@ _initialize_gnu_v3_abi (void) init_gnuv3_ops (); register_cp_abi (&gnu_v3_abi_ops); + set_cp_abi_as_auto_default (gnu_v3_abi_ops.shortname); } diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 8a90668..779b9f9 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -1240,29 +1240,6 @@ install_minimal_symbols (struct objfile *objfile) objfile->minimal_symbol_count = mcount; objfile->msymbols = msymbols; - /* Try to guess the appropriate C++ ABI by looking at the names - of the minimal symbols in the table. */ - { - int i; - - for (i = 0; i < mcount; i++) - { - /* If a symbol's name starts with _Z and was successfully - demangled, then we can assume we've found a GNU v3 symbol. - For now we set the C++ ABI globally; if the user is - mixing ABIs then the user will need to "set cp-abi" - manually. */ - const char *name = SYMBOL_LINKAGE_NAME (&objfile->msymbols[i]); - - if (name[0] == '_' && name[1] == 'Z' - && SYMBOL_DEMANGLED_NAME (&objfile->msymbols[i]) != NULL) - { - set_cp_abi_as_auto_default ("gnu-v3"); - break; - } - } - } - /* Now build the hash tables; we can't do this incrementally at an earlier point since we weren't finished with the obstack yet. (And if the msymbol obstack gets moved, all the internal -- 1.7.7.6