From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3935 invoked by alias); 26 Jan 2006 16:19:12 -0000 Received: (qmail 3922 invoked by uid 22791); 26 Jan 2006 16:19:10 -0000 X-Spam-Check-By: sourceware.org Received: from mail.emacinc.com (HELO mail.emacinc.com) (208.248.202.76) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 26 Jan 2006 16:19:05 +0000 Received: from emac77.emacinc.com ([208.248.202.77] helo=eng011.emacinc.com) by mail.emacinc.com with esmtp (Exim 4.50) id 1F29pd-0005jH-JH; Thu, 26 Jan 2006 10:18:51 -0600 From: NZG To: gdb-patches@sourceware.org, Jim Blandy Date: Thu, 26 Jan 2006 16:19:00 -0000 User-Agent: KMail/1.8.2 References: <200601231438.26040.ngustavson@emacinc.com> <200601241557.10320.ngustavson@emacinc.com> <8f2776cb0601241600g4fd54578w10e8f1000b044e26@mail.gmail.com> In-Reply-To: <8f2776cb0601241600g4fd54578w10e8f1000b044e26@mail.gmail.com> MIME-Version: 1.0 Content-Disposition: inline Message-Id: <200601261017.41108.ngustavson@emacinc.com> X-SA-Exim-Connect-IP: 208.248.202.77 X-SA-Exim-Mail-From: ngustavson@emacinc.com Subject: Re: gdb code review, pointer madness Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Spam-Relay: X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-01/txt/msg00426.txt.bz2 So, if frame 0 is actually the lowest level frame, would it be correct to say that for frame->level=0 frame->this_id->value->stack_addr =0 for all time? Or is this an overgeneralization. This appears to have to be true since in get_prev_frame if (this_frame->level >= 0 && !frame_id_p (get_frame_id (this_frame))) appears to be the only conditional preventing an unwind at level=0 if no legacy_get_prev_frame is used. This doesn't seem to be in keeping with the description of the ID > A frame ID provides an invariant that can be used to re-identify an > instance of a frame. It is a combination of the frame's `base' and > the frame's function's code address. but I'm not seeing anything else in get_prev_frame that would prevent an unwind. You shouldn't be able to unwind frame->level=0 should you? thanks for all your help, NZG