From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26586 invoked by alias); 27 Mar 2003 11:33: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 26565 invoked from network); 27 Mar 2003 11:33:35 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 27 Mar 2003 11:33:35 -0000 Received: from int-mx2.corp.redhat.com (nat-pool-rdu-dmz.redhat.com [172.16.52.200] (may be forged)) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id h2RBXYQ21841 for ; Thu, 27 Mar 2003 06:33:35 -0500 Received: from potter.sfbay.redhat.com (potter.sfbay.redhat.com [172.16.27.15]) by int-mx2.corp.redhat.com (8.11.6/8.11.6) with ESMTP id h2RBXYQ05417 for ; Thu, 27 Mar 2003 06:33:34 -0500 Received: from cygbert.vinschen.de (vpn50-14.rdu.redhat.com [172.16.50.14]) by potter.sfbay.redhat.com (8.11.6/8.11.6) with ESMTP id h2RBXW510947 for ; Thu, 27 Mar 2003 03:33:32 -0800 Received: (from corinna@localhost) by cygbert.vinschen.de (8.11.6/8.9.3/Linux sendmail 8.9.3) id h2RBXUL08963 for gdb-patches@sources.redhat.com; Thu, 27 Mar 2003 12:33:30 +0100 Date: Thu, 27 Mar 2003 11:33:00 -0000 From: Corinna Vinschen To: gdb-patches@sources.redhat.com Subject: [RFA] Remove calls to inside_entry_file Message-ID: <20030327113330.GH23762@cygbert.vinschen.de> Reply-To: gdb-patches@sources.redhat.com Mail-Followup-To: gdb-patches@sources.redhat.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i X-SW-Source: 2003-03/txt/msg00540.txt.bz2 Hi, according to my RFC on the gdb mailing list http://sources.redhat.com/ml/gdb/2003-03/msg00358.html I'm now proposing to remove calls to inside_entry_func entirely from the generic code. Additionally I've removed the call from i386_frame_chain with no regressions on Linux and 7 new PASSes instead of FAILs on Cygwin. Corinna 2003-03-26 Corinna Vinschen * blockframe.c (frame_chain_valid): Remove call to inside_entry_file(). * frame.c (get_prev_frame): Ditto. * i386-tdep.c (i386_frame_chain): Ditto. Index: blockframe.c =================================================================== RCS file: /cvs/src/src/gdb/blockframe.c,v retrieving revision 1.65 diff -u -p -r1.65 blockframe.c --- blockframe.c 24 Mar 2003 03:54:47 -0000 1.65 +++ blockframe.c 27 Mar 2003 11:25:19 -0000 @@ -580,13 +580,6 @@ frame_chain_valid (CORE_ADDR fp, struct if (inside_entry_func (get_frame_pc (fi))) return 0; - /* If we're inside the entry file, it isn't valid. */ - /* NOTE/drow 2002-12-25: should there be a way to disable this check? It - assumes a single small entry file, and the way some debug readers (e.g. - dbxread) figure out which object is the entry file is somewhat hokey. */ - if (inside_entry_file (frame_pc_unwind (fi))) - return 0; - /* If the architecture has a custom DEPRECATED_FRAME_CHAIN_VALID, call it now. */ if (DEPRECATED_FRAME_CHAIN_VALID_P ()) Index: frame.c =================================================================== RCS file: /cvs/src/src/gdb/frame.c,v retrieving revision 1.89 diff -u -p -r1.89 frame.c --- frame.c 26 Mar 2003 00:00:07 -0000 1.89 +++ frame.c 27 Mar 2003 11:25:20 -0000 @@ -1419,26 +1419,6 @@ get_prev_frame (struct frame_info *this_ return this_frame->prev; this_frame->prev_p = 1; - /* If we're inside the entry file, it isn't valid. Don't apply this - test to a dummy frame - dummy frame PC's typically land in the - entry file. Don't apply this test to the sentinel frame. - Sentinel frames should always be allowed to unwind. */ - /* NOTE: drow/2002-12-25: should there be a way to disable this - check? It assumes a single small entry file, and the way some - debug readers (e.g. dbxread) figure out which object is the - entry file is somewhat hokey. */ - /* NOTE: cagney/2003-01-10: If there is a way of disabling this test - then it should probably be moved to before the ->prev_p test, - above. */ - if (this_frame->type != DUMMY_FRAME && this_frame->level >= 0 - && inside_entry_file (get_frame_pc (this_frame))) - { - if (frame_debug) - fprintf_unfiltered (gdb_stdlog, - "Outermost frame - inside entry file\n"); - return NULL; - } - /* If we're already inside the entry function for the main objfile, then it isn't valid. Don't apply this test to a dummy frame - dummy frame PC's typically land in the entry func. Don't apply Index: i386-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/i386-tdep.c,v retrieving revision 1.123 diff -u -p -r1.123 i386-tdep.c --- i386-tdep.c 26 Mar 2003 22:39:52 -0000 1.123 +++ i386-tdep.c 27 Mar 2003 11:25:21 -0000 @@ -519,10 +519,7 @@ i386_frame_chain (struct frame_info *fra || i386_frameless_signal_p (frame)) return get_frame_base (frame); - if (! inside_entry_file (get_frame_pc (frame))) - return read_memory_unsigned_integer (get_frame_base (frame), 4); - - return 0; + return read_memory_unsigned_integer (get_frame_base (frame), 4); } /* Determine whether the function invocation represented by FRAME does -- Corinna Vinschen Cygwin Developer Red Hat, Inc. mailto:vinschen@redhat.com