From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30392 invoked by alias); 1 Nov 2003 00:00:13 -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 30383 invoked from network); 1 Nov 2003 00:00:12 -0000 Received: from unknown (HELO localhost.redhat.com) (207.219.125.105) by sources.redhat.com with SMTP; 1 Nov 2003 00:00:12 -0000 Received: from redhat.com (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id BB1D12B89 for ; Fri, 31 Oct 2003 19:00:09 -0500 (EST) Message-ID: <3FA2F789.5000306@redhat.com> Date: Sat, 01 Nov 2003 00:00:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.2) Gecko/20030820 X-Accept-Language: en-us, en MIME-Version: 1.0 To: gdb-patches@sources.redhat.com Subject: [commit] Don't call deprecated_inside_entry_file from ...id_unwind() Content-Type: multipart/mixed; boundary="------------090401000304030405040104" X-SW-Source: 2003-11/txt/msg00000.txt.bz2 This is a multi-part message in MIME format. --------------090401000304030405040104 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 748 Hello, Sometime ago, while developing the frame unwind code using the d10v, I added an innocent looking hack that stopped the d10v falling off the end of its stack: - /* This is meant to halt the backtrace at "_start". Make sure we - don't halt it at a generic dummy frame. */ - if (func <= IMEM_START || inside_entry_file (func)) - return; That logic being lifed from even older frame chain code. I then later fixed the underlying problem (inside_main_func was broken), but forgot to remove that hack. Oops! That innocent looking code as quitely spread to at least 4 other architectures (there was no comment saying "hey you don't need this"). Anyway, the attached patch removes all occurance of the hack. committed, Andrew --------------090401000304030405040104 Content-Type: text/plain; name="diffs" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="diffs" Content-length: 4478 2003-10-31 Andrew Cagney * avr-tdep.c (avr_frame_this_id): Do not call deprecated_inside_entry_file. * m68hc11-tdep.c (m68hc11_frame_this_id): Ditto. * m32r-tdep.c (m32r_frame_this_id): Ditto. * d10v-tdep.c (d10v_frame_this_id): Ditto. * arm-tdep.c (arm_prologue_this_id): Ditto. * alpha-tdep.c (alpha_heuristic_frame_this_id): Ditto. Index: alpha-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/alpha-tdep.c,v retrieving revision 1.122 diff -u -r1.122 alpha-tdep.c --- alpha-tdep.c 14 Sep 2003 16:32:12 -0000 1.122 +++ alpha-tdep.c 31 Oct 2003 23:46:17 -0000 @@ -1136,11 +1136,6 @@ struct alpha_heuristic_unwind_cache *info = alpha_heuristic_frame_unwind_cache (next_frame, this_prologue_cache, 0); - /* This is meant to halt the backtrace at "_start". Make sure we - don't halt it at a generic dummy frame. */ - if (deprecated_inside_entry_file (info->start_pc)) - return; - *this_id = frame_id_build (info->vfp, info->start_pc); } Index: arm-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/arm-tdep.c,v retrieving revision 1.153 diff -u -r1.153 arm-tdep.c --- arm-tdep.c 2 Oct 2003 20:28:28 -0000 1.153 +++ arm-tdep.c 31 Oct 2003 23:46:17 -0000 @@ -994,7 +994,7 @@ /* This is meant to halt the backtrace at "_start". Make sure we don't halt it at a generic dummy frame. */ - if (func <= LOWEST_PC || deprecated_inside_entry_file (func)) + if (func <= LOWEST_PC) return; /* If we've hit a wall, stop. */ Index: avr-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/avr-tdep.c,v retrieving revision 1.72 diff -u -r1.72 avr-tdep.c --- avr-tdep.c 17 Oct 2003 18:24:49 -0000 1.72 +++ avr-tdep.c 31 Oct 2003 23:46:18 -0000 @@ -970,11 +970,6 @@ /* The FUNC is easy. */ func = frame_func_unwind (next_frame); - /* This is meant to halt the backtrace at "_start". Make sure we - don't halt it at a generic dummy frame. */ - if (deprecated_inside_entry_file (func)) - return; - /* Hopefully the prologue analysis either correctly determined the frame's base (which is the SP from the previous frame), or set that base to "NULL". */ Index: d10v-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/d10v-tdep.c,v retrieving revision 1.135 diff -u -r1.135 d10v-tdep.c --- d10v-tdep.c 10 Oct 2003 21:59:05 -0000 1.135 +++ d10v-tdep.c 31 Oct 2003 23:46:18 -0000 @@ -1405,11 +1405,6 @@ /* The FUNC is easy. */ func = frame_func_unwind (next_frame); - /* This is meant to halt the backtrace at "_start". Make sure we - don't halt it at a generic dummy frame. */ - if (func <= IMEM_START || deprecated_inside_entry_file (func)) - return; - /* Hopefully the prologue analysis either correctly determined the frame's base (which is the SP from the previous frame), or set that base to "NULL". */ Index: m32r-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/m32r-tdep.c,v retrieving revision 1.19 diff -u -r1.19 m32r-tdep.c --- m32r-tdep.c 8 Oct 2003 02:41:49 -0000 1.19 +++ m32r-tdep.c 31 Oct 2003 23:46:18 -0000 @@ -831,11 +831,6 @@ /* The FUNC is easy. */ func = frame_func_unwind (next_frame); - /* This is meant to halt the backtrace at "_start". Make sure we - don't halt it at a generic dummy frame. */ - if (deprecated_inside_entry_file (func)) - return; - /* Check if the stack is empty. */ msym_stack = lookup_minimal_symbol ("_stack", NULL, NULL); if (msym_stack && info->base == SYMBOL_VALUE_ADDRESS (msym_stack)) Index: m68hc11-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/m68hc11-tdep.c,v retrieving revision 1.91 diff -u -r1.91 m68hc11-tdep.c --- m68hc11-tdep.c 28 Sep 2003 22:32:19 -0000 1.91 +++ m68hc11-tdep.c 31 Oct 2003 23:46:18 -0000 @@ -894,11 +894,6 @@ /* The FUNC is easy. */ func = frame_func_unwind (next_frame); - /* This is meant to halt the backtrace at "_start". Make sure we - don't halt it at a generic dummy frame. */ - if (deprecated_inside_entry_file (func)) - return; - /* Hopefully the prologue analysis either correctly determined the frame's base (which is the SP from the previous frame), or set that base to "NULL". */ --------------090401000304030405040104--