From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28423 invoked by alias); 8 Nov 2002 22:46:25 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 28416 invoked from network); 8 Nov 2002 22:46:23 -0000 Received: from unknown (HELO molenda.com) (192.220.74.81) by sources.redhat.com with SMTP; 8 Nov 2002 22:46:23 -0000 Received: (qmail 72104 invoked by uid 19025); 8 Nov 2002 22:46:23 -0000 Date: Fri, 08 Nov 2002 14:46:00 -0000 From: Jason Molenda To: Andrew Cagney Cc: gdb-patches@sources.redhat.com, jjohnstn@redhat.com Subject: Re: PATCH: Fix MI stack frame output for synthetic frames Message-ID: <20021108144623.A71229@molenda.com> References: <20021108142248.A65720@molenda.com> <3DCC3CEE.5040902@redhat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="uAKRQypu60I7Lcqm" Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <3DCC3CEE.5040902@redhat.com>; from ac131313@redhat.com on Fri, Nov 08, 2002 at 05:38:38PM -0500 X-SW-Source: 2002-11/txt/msg00256.txt.bz2 --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-length: 677 On Fri, Nov 08, 2002 at 05:38:38PM -0500, Andrew Cagney wrote: > It should be possible to test the "" case. > All the more main-stream architectures now use dummy-frames so any one > of them can be used for the test. > > Can you do that? OK, I'll write up an MI test case for this and re-post the whole patch a bit later (off to help a user just now :-). I can also test the signal handler frame one a la gdb.base/signals.exp easily enough. For the tests I added to the Apple gdb, I use the following C file to test various cases (the function bar() I used for verifying unwindonsignal was working correctly) in MI and CLI mode. Thanks, J --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="inf-call-interrupt.c" Content-length: 577 #include #include #include void foo (void); void bar (void); void subroutine (int); void handler (int); main () { puts ("Starting up"); foo (); puts ("Waiting to get a signal"); signal (SIGALRM, handler); alarm (1); sleep (2); puts ("Shutting down"); } void foo (void) { puts ("hi in foo"); } void bar (void) { char *nuller = 0; puts ("hi in bar"); *nuller = 'a'; /* try to cause a segfault */ } void handler (int sig) { subroutine (sig); } void subroutine (int in) { while (in < 100) in++; } --uAKRQypu60I7Lcqm--