From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26554 invoked by alias); 8 Nov 2002 22:38:37 -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 26547 invoked from network); 8 Nov 2002 22:38:36 -0000 Received: from unknown (HELO localhost.redhat.com) (216.129.200.2) by sources.redhat.com with SMTP; 8 Nov 2002 22:38:36 -0000 Received: from redhat.com (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 8CD153FE4; Fri, 8 Nov 2002 17:38:38 -0500 (EST) Message-ID: <3DCC3CEE.5040902@redhat.com> Date: Fri, 08 Nov 2002 14:38:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.0) Gecko/20020824 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Jason Molenda Cc: gdb-patches@sources.redhat.com, jjohnstn@redhat.com Subject: Re: PATCH: Fix MI stack frame output for synthetic frames References: <20021108142248.A65720@molenda.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2002-11/txt/msg00255.txt.bz2 > Hi all, > > We've recently found a little problem with the current gdb in MI > mode with synthesized frames on the stack (a gdb call dummy or a > stack handler). Until last month, print_frame_info_base() would > print information about these frames to stdout via printf_unfiltered; > the reply to -stack-list-frames would have a FRAME tuple for level > 0, skip level 1 (assuming that's the synthesized frame), then a > FRAME tuple for level 2 and so on. 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? Andrew > With Jeff's change a month ago - > http://sources.redhat.com/ml/gdb-patches/2002-09/msg00777.html > > a LEVEL field is being output, but no other parts of the FRAME tuple. > (the FRAME tuple is a named tuple ("frame") with fields ADDR, FUNC, > ARGS, and LINE if those are all available). The output now looks like > > ~"\n" > stack=[frame={level="0",addr=...,func=...},level="1",frame={level="2",addr=...},...] > > I've attached a patch to emit a TUPLE with a func name of " handler called>" or "" and to include > the ADDR field. I also took the opportunity to remove some code that'd > been #if 0'ed since the original import on to sources.redhat.com in 1999. > It's probably easier to read the new code than the patch -- I'll list the > new code below and attach the patch. > > 2002-11-08 Jason Molenda (jmolenda@apple.com) > > * stack.c (print_frame_info_base): Emit full FRAME tuple for > gdb call dummy and signal handler synthetic stack frames; send > stack frame name through UI instead of stdout. > > Jason