From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 317 invoked by alias); 17 Oct 2006 22:15:42 -0000 Received: (qmail 307 invoked by uid 22791); 17 Oct 2006 22:15:41 -0000 X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO brahms.sibelius.xs4all.nl) (82.92.89.47) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 17 Oct 2006 22:15:39 +0000 Received: from elgar.sibelius.xs4all.nl (root@elgar.sibelius.xs4all.nl [192.168.0.2]) by brahms.sibelius.xs4all.nl (8.13.8/8.13.6) with ESMTP id k9HMF4o5024301; Wed, 18 Oct 2006 00:15:04 +0200 (CEST) Received: from elgar.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by elgar.sibelius.xs4all.nl (8.13.8/8.13.6) with ESMTP id k9HMF4ES019569; Wed, 18 Oct 2006 00:15:04 +0200 (CEST) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.13.8/8.13.8/Submit) id k9HMF3Mg012869; Wed, 18 Oct 2006 00:15:03 +0200 (CEST) Date: Tue, 17 Oct 2006 22:15:00 -0000 Message-Id: <200610172215.k9HMF3Mg012869@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: drow@false.org CC: gdb-patches@sourceware.org In-reply-to: <20061017212114.GC12643@nevyn.them.org> (message from Daniel Jacobowitz on Tue, 17 Oct 2006 17:21:14 -0400) Subject: Re: Improve end check on rs6000 prologue analyzer References: <20060929213726.GA1770@nevyn.them.org> <200609301932.k8UJW0kw030997@elgar.sibelius.xs4all.nl> <20061017212114.GC12643@nevyn.them.org> 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-10/txt/msg00203.txt.bz2 > Date: Tue, 17 Oct 2006 17:21:14 -0400 > From: Daniel Jacobowitz > > On Sat, Sep 30, 2006 at 09:32:00PM +0200, Mark Kettenis wrote: > > > Date: Fri, 29 Sep 2006 17:37:26 -0400 > > > From: Daniel Jacobowitz > > > > > > Any comments on this patch? Otherwise, I'll plan to commit it in a few > > > days. > > > > I get quite a few new regressions on OpenBSD/powerpc. Please don't > > commit this. > > Hi Mark, > > Do you think you could try out this one, instead? I worked out what > was going wrong for me: sign extension. I was testing a 64-bit GDB > binary on 32-bit programs, which caused (op >> 22) == 0x20f to fail; > when it didn't fail, on a 32-bit host, that check allows any load into > r31 to be considered part of the prologue. But it was advancing so far > that for small functions, the breakpoint was placed after the restore > of r31 in the epilogue - much too far. > > This patch fixes the original bug, fixes the sign extension problem, > and generally overhauls the prologue skipping (as opposed to scanning) > to work more like MIPS's. It tests with no regressions on > powerpc-linux, using a 32-bit binary this time. I'll try to check it out tomorrow night. Time for me to go to zzz now... > 2006-10-17 Daniel Jacobowitz > > * rs6000-tdep.c (rs6000_skip_prologue): Use skip_prologue_using_sal. > (rs6000_in_function_epilogue_p): Use extract_unsigned_integer. > (refine_prologue_limit): Delete. > (skip_prologue): Don't call it. Use extract_unsigned_integer. > Assume lim_pc is set. Correct check for incomplete prologues. > > 2006-10-17 Daniel Jacobowitz > > * gdb.arch/powerpc-prologue.c (optimized_1_marker, gdb2029_marker) > (optimized_1): New. > (main): Call optimized_1. > (gdb2029): Correct typos. Call gdb2029_marker. > * gdb.arch/powerpc-prologue.exp: Run new test. Use a breakpoint > for gdb2029.