From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29966 invoked by alias); 15 Feb 2007 20:20:17 -0000 Received: (qmail 29935 invoked by uid 22791); 15 Feb 2007 20:20:13 -0000 X-Spam-Check-By: sourceware.org Received: from gateway-1237.mvista.com (HELO gateway-1237.mvista.com) (63.81.120.158) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 15 Feb 2007 20:20:06 +0000 Received: from [10.0.10.219] (dhcp219.mvista.com [10.0.10.219]) by hermes.mvista.com (Postfix) with ESMTP id B37151C499; Thu, 15 Feb 2007 12:20:03 -0800 (PST) Message-ID: <45D4C162.60803@mvista.com> Date: Thu, 15 Feb 2007 20:20:00 -0000 From: Aman Wardak User-Agent: Thunderbird 1.5.0.7 (X11/20060913) MIME-Version: 1.0 To: Mark Kettenis , gdb-patches@sourceware.org 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> <200610181958.k9IJw88G009044@elgar.sibelius.xs4all.nl> <20061018200554.GD13273@nevyn.them.org> <20061130201146.GA23830@nevyn.them.org> In-Reply-To: <20061130201146.GA23830@nevyn.them.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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/msg00198.txt.bz2 FYI. Below are my results before and after applying this patch on top of gdb-6.6.50.20061206 (+some local patches). --- log.orig.full/gdb.sum 2007-02-15 00:32:04.000000000 +0000 +++ log.new.full/gdb.sum 2007-02-15 01:42:08.000000000 +0000 @@ -1,4 +1,4 @@ -Test Run By root on Thu Jan 1 19:57:48 1970 +Test Run By root on Thu Jan 1 21:07:00 1970 Native configuration is powerpc-unknown-linux-gnu === gdb tests === @@ -9,7 +9,7 @@ Running target unix Running /testsuite/gdb/testsuite/gdb.arch/alpha-step.exp ... Running /testsuite/gdb/testsuite/gdb.arch/altivec-abi.exp ... -gdb compile failed, vmx2337.c:1: error: AltiVec and E500 instructions cannot coexist +gdb compile failed, vmx9608.c:1: error: AltiVec and E500 instructions cannot coexist Running /testsuite/gdb/testsuite/gdb.arch/altivec-regs.exp ... Running /testsuite/gdb/testsuite/gdb.arch/e500-abi.exp ... Running /testsuite/gdb/testsuite/gdb.arch/e500-prologue.exp ... @@ -488,7 +488,7 @@ PASS: gdb.base/break.exp: run until file:function(3) breakpoint PASS: gdb.base/break.exp: run until file:function(2) breakpoint PASS: gdb.base/break.exp: run until file:function(1) breakpoint -FAIL: gdb.base/break.exp: run until quoted breakpoint +PASS: gdb.base/break.exp: run until quoted breakpoint PASS: gdb.base/break.exp: run until file:linenum breakpoint PASS: gdb.base/break.exp: breakpoint offset +1 PASS: gdb.base/break.exp: step onto breakpoint @@ -1192,7 +1192,8 @@ PASS: gdb.base/checkpoint.exp: set checkpoint breakpoint FAIL: gdb.base/checkpoint.exp: break2 with many checkpoints (timeout) FAIL: gdb.base/checkpoint.exp: info checkpoints with at least 600 checkpoints -PASS: gdb.base/checkpoint.exp: kill all one +ERROR: internal buffer is full. +UNRESOLVED: gdb.base/checkpoint.exp: kill all one Running /testsuite/gdb/testsuite/gdb.base/chng-syms.exp ... PASS: gdb.base/chng-syms.exp: setting conditional breakpoint on function PASS: gdb.base/chng-syms.exp: continue until exit at breakpoint first time through @@ -1434,8 +1435,8 @@ PASS: gdb.base/condbreak.exp: breakpoint info PASS: gdb.base/condbreak.exp: rerun to main PASS: gdb.base/condbreak.exp: run until breakpoint set at a line number -XFAIL: gdb.base/condbreak.exp: run until breakpoint at marker1 -FAIL: gdb.base/condbreak.exp: run until breakpoint at marker2 +PASS: gdb.base/condbreak.exp: run until breakpoint at marker1 +PASS: gdb.base/condbreak.exp: run until breakpoint at marker2 Running /testsuite/gdb/testsuite/gdb.base/consecutive.exp ... PASS: gdb.base/consecutive.exp: continue to breakpoint in foo PASS: gdb.base/consecutive.exp: get breakpoint address for foo @@ -2227,12 +2228,12 @@ PASS: gdb.base/ena-dis-br.exp: break marker1 PASS: gdb.base/ena-dis-br.exp: enable break marker1 PASS: gdb.base/ena-dis-br.exp: info break marker1 -XFAIL: gdb.base/ena-dis-br.exp: continue to break marker1 +PASS: gdb.base/ena-dis-br.exp: continue to break marker1 PASS: gdb.base/ena-dis-br.exp: delete break marker1 PASS: gdb.base/ena-dis-br.exp: break marker2 PASS: gdb.base/ena-dis-br.exp: enable once break marker2 PASS: gdb.base/ena-dis-br.exp: info auto-disabled break marker2 -XFAIL: gdb.base/ena-dis-br.exp: continue to auto-disabled break marker2 +PASS: gdb.base/ena-dis-br.exp: continue to auto-disabled break marker2 PASS: gdb.base/ena-dis-br.exp: info auto-disabled break marker2 PASS: gdb.base/ena-dis-br.exp: continue until exit at no stop PASS: gdb.base/ena-dis-br.exp: rerun to main @@ -2254,7 +2255,7 @@ PASS: gdb.base/ena-dis-br.exp: info ignored break marker1 PASS: gdb.base/ena-dis-br.exp: continue until exit at no stop at ignored break marker1 PASS: gdb.base/ena-dis-br.exp: rerun to main -XFAIL: gdb.base/ena-dis-br.exp: continue to break marker1, 2nd time +PASS: gdb.base/ena-dis-br.exp: continue to break marker1, 2nd time PASS: gdb.base/ena-dis-br.exp: break marker1 PASS: gdb.base/ena-dis-br.exp: ignore break marker1 PASS: gdb.base/ena-dis-br.exp: enable del break marker1 @@ -2811,14 +2812,14 @@ PASS: gdb.base/funcargs.exp: print *fp PASS: gdb.base/funcargs.exp: print *dp PASS: gdb.base/funcargs.exp: run to call4a -FAIL: gdb.base/funcargs.exp: print *stp +PASS: gdb.base/funcargs.exp: print *stp PASS: gdb.base/funcargs.exp: continue to call4b PASS: gdb.base/funcargs.exp: print *unp (sizeof long == sizeof int) PASS: gdb.base/funcargs.exp: locate actual args, structs/unions passed by reference -FAIL: gdb.base/funcargs.exp: run to call5a -FAIL: gdb.base/funcargs.exp: print st -FAIL: gdb.base/funcargs.exp: continue to call5b (sizeof long == sizeof int) -FAIL: gdb.base/funcargs.exp: print un (sizeof long == sizeof int) +PASS: gdb.base/funcargs.exp: run to call5a +PASS: gdb.base/funcargs.exp: print st +PASS: gdb.base/funcargs.exp: continue to call5b (sizeof long == sizeof int) +PASS: gdb.base/funcargs.exp: print un (sizeof long == sizeof int) PASS: gdb.base/funcargs.exp: run to call6a PASS: gdb.base/funcargs.exp: backtrace from call6a PASS: gdb.base/funcargs.exp: continue to call6b @@ -5242,7 +5243,7 @@ PASS: gdb.base/sepdebug.exp: run until file:function(3) breakpoint PASS: gdb.base/sepdebug.exp: run until file:function(2) breakpoint PASS: gdb.base/sepdebug.exp: run until file:function(1) breakpoint -FAIL: gdb.base/sepdebug.exp: run until quoted breakpoint +PASS: gdb.base/sepdebug.exp: run until quoted breakpoint PASS: gdb.base/sepdebug.exp: run until file:linenum breakpoint PASS: gdb.base/sepdebug.exp: breakpoint offset +1 PASS: gdb.base/sepdebug.exp: step onto breakpoint @@ -5299,7 +5300,7 @@ PASS: gdb.base/sepdebug.exp: breakpoint function, optimized file PASS: gdb.base/sepdebug.exp: breakpoint small function, optimized file PASS: gdb.base/sepdebug.exp: run until function breakpoint, optimized file -FAIL: gdb.base/sepdebug.exp: run until breakpoint set at small function, optimized file +PASS: gdb.base/sepdebug.exp: run until breakpoint set at small function, optimized file Running /testsuite/gdb/testsuite/gdb.base/sepsymtab.exp ... PASS: gdb.base/sepsymtab.exp: info sym main Running /testsuite/gdb/testsuite/gdb.base/setshow.exp ... @@ -8838,7 +8839,7 @@ PASS: gdb.cp/m-data.exp: template object, base enum PASS: gdb.cp/m-data.exp: template object, derived enum PASS: gdb.cp/m-data.exp: continue to breakpoint: continue to shadow breakpoint -FAIL: gdb.cp/m-data.exp: shadowing member +PASS: gdb.cp/m-data.exp: shadowing member PASS: gdb.cp/m-data.exp: shadowed global variable Running /testsuite/gdb/testsuite/gdb.cp/m-static.exp ... PASS: gdb.cp/m-static.exp: continue to breakpoint: end of constructors @@ -9063,17 +9064,17 @@ PASS: gdb.cp/ovldbreak.exp: set bp on overload1arg all PASS: gdb.cp/ovldbreak.exp: breakpoint info (after setting on all) PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : (void|) -KFAIL: gdb.cp/ovldbreak.exp: continue to bp overloaded : char (PRMS: gdb/1025) -KFAIL: gdb.cp/ovldbreak.exp: continue to bp overloaded : signed char (PRMS: gdb/1025) -KFAIL: gdb.cp/ovldbreak.exp: continue to bp overloaded : unsigned char (PRMS: gdb/1025) -KFAIL: gdb.cp/ovldbreak.exp: continue to bp overloaded : short (PRMS: gdb/1025)-KFAIL: gdb.cp/ovldbreak.exp: continue to bp overloaded : unsigned short (PRMS: gdb/1025) -FAIL: gdb.cp/ovldbreak.exp: continue to bp overloaded : int -FAIL: gdb.cp/ovldbreak.exp: continue to bp overloaded : (unsigned|unsigned int)-FAIL: gdb.cp/ovldbreak.exp: continue to bp overloaded : long -FAIL: gdb.cp/ovldbreak.exp: continue to bp overloaded : unsigned long -FAIL: gdb.cp/ovldbreak.exp: continue to bp overloaded : float -KFAIL: gdb.cp/ovldbreak.exp: continue to bp overloaded : double (PRMS: gdb/1025) +PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : char +PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : signed char +PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : unsigned char +PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : short +PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : unsigned short +PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : int +PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : (unsigned|unsigned int)+PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : long +PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : unsigned long +PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : float +PASS: gdb.cp/ovldbreak.exp: continue to bp overloaded : double PASS: gdb.cp/ovldbreak.exp: continue until exit at finish program Running /testsuite/gdb/testsuite/gdb.cp/pr-1023.exp ... PASS: gdb.cp/pr-1023.exp: break myClass::performBlocking @@ -11032,10 +11033,10 @@ PASS: gdb.threads/schedlock.exp: listed args (2) PASS: gdb.threads/schedlock.exp: thread 0 ran PASS: gdb.threads/schedlock.exp: thread 1 ran -FAIL: gdb.threads/schedlock.exp: thread 2 ran (didn't run) +PASS: gdb.threads/schedlock.exp: thread 2 ran PASS: gdb.threads/schedlock.exp: thread 3 ran PASS: gdb.threads/schedlock.exp: thread 4 ran -FAIL: gdb.threads/schedlock.exp: thread 5 ran (didn't run) +PASS: gdb.threads/schedlock.exp: thread 5 ran PASS: gdb.threads/schedlock.exp: find current thread (1) PASS: gdb.threads/schedlock.exp: set scheduler-locking off PASS: gdb.threads/schedlock.exp: step to increment (unlocked 0) @@ -11063,8 +11064,8 @@ PASS: gdb.threads/schedlock.exp: other thread 0 didn't run PASS: gdb.threads/schedlock.exp: other thread 1 didn't run PASS: gdb.threads/schedlock.exp: other thread 2 didn't run +PASS: gdb.threads/schedlock.exp: other thread 3 didn't run PASS: gdb.threads/schedlock.exp: current thread ran -PASS: gdb.threads/schedlock.exp: other thread 4 didn't run PASS: gdb.threads/schedlock.exp: other thread 5 didn't run PASS: gdb.threads/schedlock.exp: step to increment (locked 0) PASS: gdb.threads/schedlock.exp: step to increment (locked 1) @@ -11082,8 +11083,8 @@ PASS: gdb.threads/schedlock.exp: other thread 0 didn't run (stepping) PASS: gdb.threads/schedlock.exp: other thread 1 didn't run (stepping) PASS: gdb.threads/schedlock.exp: other thread 2 didn't run (stepping) +PASS: gdb.threads/schedlock.exp: other thread 3 didn't run (stepping) PASS: gdb.threads/schedlock.exp: current thread stepped locked -PASS: gdb.threads/schedlock.exp: other thread 4 didn't run (stepping) PASS: gdb.threads/schedlock.exp: other thread 5 didn't run (stepping) Running /testsuite/gdb/testsuite/gdb.threads/staticthreads.exp ... PASS: gdb.threads/staticthreads.exp: successfully compiled posix threads test case @@ -11348,11 +11349,11 @@ === gdb Summary === -# of expected passes 10692 -# of unexpected failures 177 -# of expected failures 45 -# of known failures 70 -# of unresolved testcases 9 +# of expected passes 10718 +# of unexpected failures 160 +# of expected failures 41 +# of known failures 64 +# of unresolved testcases 10 # of untested testcases 5 # of unsupported tests 3 /usr/bin/gdb version 6.6.50.20061206 -nx -Aman Daniel Jacobowitz wrote: > On Wed, Oct 18, 2006 at 04:05:54PM -0400, Daniel Jacobowitz wrote: > >> On Wed, Oct 18, 2006 at 09:58:08PM +0200, Mark Kettenis wrote: >> >>> Unfortunately, I still get a few regressions, see below. They all >>> seem to be problems with not skipping the complete prologue. I get >>> the feeling that using line number information for prologue skipping >>> is just not reliable :(. >>> >> It's true that it isn't completely reliable, but it's usually "good >> enough" and has its own advantages - it's better than accidentally >> walking off into the epilogue, for instance, as this code is currently >> somewhat prone to. >> >> What version of GCC are you using? Perhaps I can reproduce it with a >> different version. >> > > Hi Mark, did you miss this question? I'd really like to figure out why > this patch causes regressions for you. > >