From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22593 invoked by alias); 27 Jan 2003 21:42:53 -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 22586 invoked from network); 27 Jan 2003 21:42:52 -0000 Received: from unknown (HELO localhost.redhat.com) (66.30.197.194) by 172.16.49.205 with SMTP; 27 Jan 2003 21:42:52 -0000 Received: from redhat.com (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 3E9CF3D2C; Mon, 27 Jan 2003 16:42:45 -0500 (EST) Message-ID: <3E35A7D5.5080504@redhat.com> Date: Mon, 27 Jan 2003 21:42:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.1) Gecko/20021211 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Andrew Cagney Cc: gdb-patches@sources.redhat.com Subject: Re: [patch/rfc] Add a sentinel frame References: <3E305670.3020700@redhat.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2003-01/txt/msg00741.txt.bz2 I've checked this in. > 2003-01-23 Andrew Cagney > > * sentinel-frame.h, sentinel-frame.c: New files. > * Makefile.in (frame.o): Update dependencies. > (SFILES): Add sentinel-frame.c. > (sentinel_frame_h): Define. > (COMMON_OBS): Add sentinel-frame.o. > (sentinel-frame.o): Specify dependencies. > * frame.c: Include "sentinel-frame.h". > (frame_register_unwind): Rewrite assuming that there is always a a > ->next frame. > (frame_register, generic_unwind_get_saved_register): Ditto. > (frame_read_unsigned_register, frame_read_signed_register): Ditto. > (create_sentinel_frame, unwind_to_current_frame): New functions. > (get_current_frame): Rewrite using create_sentinel_frame and > unwind_to_current_frame. When possible, always create a frame. > (create_new_frame): Set next to the sentinel frame. > (get_next_frame): Rewrite. Don't go below the level 0 frame. > (deprecated_update_frame_pc_hack): Update the next frame's PC and > ID cache when necessary. > (frame_saved_regs_id_unwind): Use frame_relative_level. > (deprecated_generic_get_saved_register): Use frame_relative_level, > get_frame_saved_regs, get_frame_pc, get_frame_base and > get_next_frame. > (frame_saved_regs_register_unwind): Use get_frame_saved_regs and > frame_register. now back to kevin's question. Andrew