From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2231 invoked by alias); 13 Feb 2006 16:08:53 -0000 Received: (qmail 2223 invoked by uid 22791); 13 Feb 2006 16:08:53 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Mon, 13 Feb 2006 16:08:52 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1F8gFs-0007AT-Vq; Mon, 13 Feb 2006 11:08:49 -0500 Date: Mon, 13 Feb 2006 16:08:00 -0000 From: Daniel Jacobowitz To: Mark Kettenis Cc: fnf@specifix.com, gdb-patches@sourceware.org Subject: Re: [PATCH] Fix problem with scope.exp test, skipping past init0 call Message-ID: <20060213160848.GA27481@nevyn.them.org> Mail-Followup-To: Mark Kettenis , fnf@specifix.com, gdb-patches@sourceware.org References: <200602121510.01657.fnf@specifix.com> <20060213153903.GA26349@nevyn.them.org> <200602131047.30428.fnf@specifix.com> <200602131604.k1DG4n9Y025733@elgar.sibelius.xs4all.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200602131604.k1DG4n9Y025733@elgar.sibelius.xs4all.nl> User-Agent: Mutt/1.5.8i X-IsSubscribed: yes 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/msg00279.txt.bz2 On Mon, Feb 13, 2006 at 05:04:49PM +0100, Mark Kettenis wrote: > > > 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? In case the system runtime doesn't (which some older glibc crt files didn't, or maybe it's kernel dependent, or something like that that's hard to handle when configuring GCC). You need the 16-byte alignment for SSE2, I think? -- Daniel Jacobowitz CodeSourcery