From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6474 invoked by alias); 25 Jul 2003 23:16:44 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 6437 invoked from network); 25 Jul 2003 23:16:43 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 25 Jul 2003 23:16:43 -0000 Received: from drow by nevyn.them.org with local (Exim 4.20 #1 (Debian)) id 19gBnl-0001VD-4S; Fri, 25 Jul 2003 19:16:41 -0400 Date: Fri, 25 Jul 2003 23:16:00 -0000 From: Daniel Jacobowitz To: Michael Elizabeth Chastain Cc: gdb@sources.redhat.com Subject: Re: gcc HEAD changes stab function names for static functions Message-ID: <20030725231641.GA5317@nevyn.them.org> Mail-Followup-To: Michael Elizabeth Chastain , gdb@sources.redhat.com References: <200307251829.h6PIT2xf004406@duracef.shout.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200307251829.h6PIT2xf004406@duracef.shout.net> User-Agent: Mutt/1.5.1i X-SW-Source: 2003-07/txt/msg00310.txt.bz2 On Fri, Jul 25, 2003 at 02:29:02PM -0400, Michael Elizabeth Chastain wrote: > I've got another regression in gcc HEAD and I just want to check whether > it's a gcc bug or whether we should handle it in gdb. > > Here is the source code: > > static void f1 (int i); > static void f1 (int i) > { > return; > } > > Here is the output from gcc HEAD 20030716: > > .stabs "f1:f(0,21)=(0,21)",36,0,3,f1 .stabs "i:p(0,1)",160,0,2,8 > .type f1, @function f1: > .stabn 68,0,3,.LM1-f1 > > And here is the output from gcc HEAD 20030722: > > .stabs "f1.0:f(0,21)=(0,21)",36,0,3,f1.0 > .stabs "i:p(0,1)",160,0,2,8 .type f1.0, @function > f1.0: .stabn 68,0,3,.LM1-f1.0 > > The function name change from "f1" to "f1.0", even though "f1" > is declared and defined at file scope. This happens with -gstabs+. > It does not happen with -gdwarf-2 (or if it does, gdb is handling > it okay). > > This looks like a bug in gcc. Or should gdb handle this, even at > file scope? > > gcc has new code here and it will be easy to isolate the regression. > gcc tries to test whether "f1" is at file scope or a local scope. I > think it's getting mislead by the "static void f1 (int i);" declaration. > But my real question is: should I whinge at gcc to change the compiler > back, or whinge at gdb to accommodate the new compiler behavior. This is fallback from Geoff's program-at-a-time patch. I thought he'd been persuaded to change it back for file-at-a-time, but maybe he didn't do it right - see the message from Bob Wilson yesterday. Don't remember which gcc list. It will probably be reverted. In any case, it should have been "f1:f(0,21)" and f1.0:, the f1.0 bit should not appear in a stabs string. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer