From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27861 invoked by alias); 21 May 2002 01:10:35 -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 27807 invoked from network); 21 May 2002 01:10:30 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 21 May 2002 01:10:30 -0000 Received: from localhost.redhat.com (remus.sfbay.redhat.com [172.16.27.252]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id SAA18372 for ; Mon, 20 May 2002 18:10:29 -0700 (PDT) Received: by localhost.redhat.com (Postfix, from userid 469) id 1169810FC9; Mon, 20 May 2002 21:09:53 -0400 (EDT) From: Elena Zannoni MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15593.40545.942503.555444@localhost.redhat.com> Date: Mon, 20 May 2002 18:10:00 -0000 To: Michal Ludvig Cc: gdb-patches@sources.redhat.com Subject: Re: [RFA] eh_frame handling In-Reply-To: <3CE26A82.2070207@suse.cz> References: <3CE134BE.1000202@suse.cz> <3CE26A82.2070207@suse.cz> X-SW-Source: 2002-05/txt/msg00827.txt.bz2 Michal Ludvig writes: > Michal Ludvig wrote: > > Hi all, > > these changes will allow backtrace even through objects without > > debug_frame section. Note that gcc must produce all information > > necessary in eh_frame (perhaps -fasynchronous-unwind-tables flag?). > > > > 2002-05-14 Michal Ludvig > > * dwarf2cfi.c (frame_state_for): Added safety check for a valid > > fde->cie_ptr. > > (dwarf2_build_frame_info): Added handling for eh_frame. > > I have slightly rewritten finding the appropriate CIE for a given FDE so > that it counts with multiple objfiles now. > > Any comments? Can I commit? > > Michal Ludvig > -- > * SuSE CR, s.r.o * mludvig@suse.cz > * +420 2 9654 5373 * http://www.suse.cz > Index: dwarf2cfi.c > =================================================================== > RCS file: /cvs/src/src/gdb/dwarf2cfi.c,v > retrieving revision 1.5 > diff -c -3 -p -r1.5 dwarf2cfi.c > *** dwarf2cfi.c 14 May 2002 08:24:26 -0000 1.5 > --- dwarf2cfi.c 15 May 2002 13:59:06 -0000 > *************** frame_state_for (struct context *context > *** 802,812 **** > context->args_size = 0; > context->lsda = 0; > > ! if ((fde = get_fde_for_addr (context->ra - 1)) != NULL) > ! { > ! fs->pc = fde->initial_location; > > cie = fde->cie_ptr; > fs->code_align = cie->code_align; > fs->data_align = cie->data_align; > fs->retaddr_column = cie->ra; > --- 802,816 ---- > context->args_size = 0; > context->lsda = 0; > > ! if ((fde = get_fde_for_addr (context->ra - 1)) == NULL) > ! return; > ! We shouldn't be using assignments inside conditions. Could you split this up? The rest is approved. I have a general question about this file. There are basically no comments in it, would it be possible to add something here and there to help figure out what's going on? Thanks Elena