From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27356 invoked by alias); 16 Feb 2007 08:22:49 -0000 Received: (qmail 27348 invoked by uid 22791); 16 Feb 2007 08:22:48 -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; Fri, 16 Feb 2007 08:22:43 +0000 Received: from brahms.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by brahms.sibelius.xs4all.nl (8.14.0/8.14.0) with ESMTP id l1G8Md9X003596; Fri, 16 Feb 2007 09:22:39 +0100 (CET) Received: (from kettenis@localhost) by brahms.sibelius.xs4all.nl (8.14.0/8.14.0/Submit) id l1G8MYL8026770; Fri, 16 Feb 2007 09:22:34 +0100 (CET) Date: Fri, 16 Feb 2007 08:22:00 -0000 Message-Id: <200702160822.l1G8MYL8026770@brahms.sibelius.xs4all.nl> From: Mark Kettenis To: fnf@specifix.com CC: gdb-patches@sources.redhat.com, fnf@specifix.com In-reply-to: <200702151807.06227.fnf@specifix.com> (message from Fred Fish on Thu, 15 Feb 2007 18:07:06 -0700) Subject: Re: [PATCH] Fix PPC scan_prologue for code generated with -mno-update References: <200702151807.06227.fnf@specifix.com> 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: 2007-02/txt/msg00202.txt.bz2 > From: Fred Fish > Date: Thu, 15 Feb 2007 18:07:06 -0700 > > If the PPC gcc is used with the -mno-update option, it generates a > prologue instruction to allocate cache that gdb does not recognize. > Gdb disassembles it as "addi r1,r1,NUM". > > If you run the gdb testsuite for powerpc-eabi and add -mno-update to > the list of compilation options, you get a huge increase in failures, > most due to problems doing backtraces. Without using -mno-update > you get: > > # of expected passes 36024 > # of unexpected failures 756 > > With -mno-update you get: > > # of expected passes 33220 > # of unexpected failures 3928 > > After applying the attached patch, the results with -mno-update > become: > > # of expected passes 36028 > # of unexpected failures 752 > > This also fixes an existing failure (1 for each multilib): > > 4448c4446 > < FAIL: gdb.base/recurse.exp: next over b = 0 in second instance > --- > > PASS: gdb.base/recurse.exp: next over b = 0 in second instance > > I didn't examine why that failure was fixed by the patch. Looks reasonable to me. However there's one thing I don't understand. Presuming you're using DWARF2 debug info, why does improving the prologue scanner make such a big difference? Mark