This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[commit] Don't call deprecated_inside_entry_file from ...id_unwind()


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
2003-10-31  Andrew Cagney  <cagney@redhat.com>

	* 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".  */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]