From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26990 invoked by alias); 13 Feb 2006 16:05:29 -0000 Received: (qmail 26976 invoked by uid 22791); 13 Feb 2006 16:05:28 -0000 X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO sibelius.xs4all.nl) (82.92.89.47) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 13 Feb 2006 16:05:26 +0000 Received: from elgar.sibelius.xs4all.nl (root@elgar.sibelius.xs4all.nl [192.168.0.2]) by sibelius.xs4all.nl (8.13.4/8.13.4) with ESMTP id k1DG4oDa012564; Mon, 13 Feb 2006 17:04:50 +0100 (CET) Received: from elgar.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by elgar.sibelius.xs4all.nl (8.13.4/8.13.3) with ESMTP id k1DG4nmV026480; Mon, 13 Feb 2006 17:04:49 +0100 (CET) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.13.4/8.13.4/Submit) id k1DG4n9Y025733; Mon, 13 Feb 2006 17:04:49 +0100 (CET) Date: Mon, 13 Feb 2006 16:05:00 -0000 Message-Id: <200602131604.k1DG4n9Y025733@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: fnf@specifix.com CC: drow@false.org, gdb-patches@sourceware.org In-reply-to: <200602131047.30428.fnf@specifix.com> (message from Fred Fish on Mon, 13 Feb 2006 10:47:30 -0500) Subject: Re: [PATCH] Fix problem with scope.exp test, skipping past init0 call References: <200602121510.01657.fnf@specifix.com> <20060213153903.GA26349@nevyn.them.org> <200602131047.30428.fnf@specifix.com> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-02/txt/msg00278.txt.bz2 > From: Fred Fish > Date: Mon, 13 Feb 2006 10:47:30 -0500 > > On Monday 13 February 2006 10:39, Daniel Jacobowitz wrote: > > What platform and compiler version is this? It doesn't fail for me. > > Fedora Core 4, using the latest development gcc while running the] > gdb testsuite. Hmm, if you didn't commit the fix yet, can you please hold off doing that for a bit? From your explanation below, it turns out that this might have caught a genuine genuine GDB bug. By "fixing" this we're likely not to notice that. And if this would have been a GCC bug that would have been fixed in the official release, there would have been no reason to have added a workaround either. > > Well, that's supposed to skip a call to __main(), which GCC generates > > on very few platforms... stopping at the opening brace is definitely > > a bug in its own right, in the debug info or in the prologue skipper. > > The problem is that gcc now generates prologues that the prologue skipper > isn't prepared to handle. > > The latest gcc generates prologues like: > > main: > leal 4(%esp), %ecx > andl $-16, %esp > pushl -4(%ecx) > pushl %ebp > movl %esp, %ebp > pushl %ecx > call foo Hmm, what's happening here? Looks like the first three instructions are aligning the stack on a 16-byte boundary. Why is GCC doing that? Mark