2004-04-30 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Fri, 30 Apr 2004 20:44:59 +0000 (20:44 +0000)
committerAndrew Cagney <cagney@redhat.com>
Fri, 30 Apr 2004 20:44:59 +0000 (20:44 +0000)
* defs.h (deprecated_inside_entry_file): Delete declaration.
* blockframe.c (deprecated_inside_entry_file): Delete function.
(legacy_frame_chain_valid): Delete call.
* sh64-tdep.c (sh64_frame_chain): Delete call.
* objfiles.h: Update comments.
* i386-interix-tdep.c (i386_interix_frame_chain_valid): Delete
call.
* frame.c (get_prev_frame): Delete call, update comments.

gdb/ChangeLog
gdb/blockframe.c
gdb/defs.h
gdb/frame.c
gdb/i386-interix-tdep.c
gdb/objfiles.h
gdb/sh64-tdep.c

index 751c341f112738012c84672ea1c505c2f707a596..c522d9b01768587d0064c322b4ba412b2b47d79e 100644 (file)
@@ -1,3 +1,14 @@
+2004-04-30  Andrew Cagney  <cagney@redhat.com>
+
+       * defs.h (deprecated_inside_entry_file): Delete declaration.
+       * blockframe.c (deprecated_inside_entry_file): Delete function.
+       (legacy_frame_chain_valid): Delete call.
+       * sh64-tdep.c (sh64_frame_chain): Delete call.
+       * objfiles.h: Update comments.
+       * i386-interix-tdep.c (i386_interix_frame_chain_valid): Delete
+       call.
+       * frame.c (get_prev_frame): Delete call, update comments.
+
 2004-04-30  Brian Ford  <ford@vss.fsi.com>
 
        * MAINTAINERS (Write After Approval): Add myself.
index 5fd20f0e43d94dc491e32ed4a903fd2dbaa08f65..7672e905eedbb56179e15414f9f7f0735ddb7ffb 100644 (file)
 
 void _initialize_blockframe (void);
 
-/* Is ADDR inside the startup file?  Note that if your machine has a
-   way to detect the bottom of the stack, there is no need to call
-   this function from DEPRECATED_FRAME_CHAIN_VALID; the reason for
-   doing so is that some machines have no way of detecting bottom of
-   stack.
-
-   A PC of zero is always considered to be the bottom of the stack. */
-
-int
-deprecated_inside_entry_file (CORE_ADDR addr)
-{
-  if (addr == 0)
-    return 1;
-  if (symfile_objfile == 0)
-    return 0;
-  if (CALL_DUMMY_LOCATION == AT_ENTRY_POINT
-      || CALL_DUMMY_LOCATION == AT_SYMBOL)
-    {
-      /* Do not stop backtracing if the pc is in the call dummy
-         at the entry point.  */
-      /* FIXME: Won't always work with zeros for the last two arguments */
-      if (DEPRECATED_PC_IN_CALL_DUMMY (addr, 0, 0))
-       return 0;
-    }
-  return (addr >= symfile_objfile->ei.deprecated_entry_file_lowpc &&
-         addr < symfile_objfile->ei.deprecated_entry_file_highpc);
-}
-
 /* Test whether PC is in the range of addresses that corresponds to
    the "main" function.  */
 
@@ -622,12 +594,5 @@ legacy_frame_chain_valid (CORE_ADDR fp, struct frame_info *fi)
   if (legacy_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 (deprecated_inside_entry_file (frame_pc_unwind (fi)))
-      return 0;
-
   return 1;
 }
index a2c51ba807ddc9eb88aaf049455e26bc806714db..362f4a773c8cbd31f0aacbb7ef481ca7d24c9d03 100644 (file)
@@ -327,8 +327,6 @@ struct frame_info;
 
 extern int inside_entry_func (struct frame_info *this_frame);
 
-extern int deprecated_inside_entry_file (CORE_ADDR addr);
-
 extern int inside_main_func (CORE_ADDR pc);
 
 /* From utils.c */
index bdb6cb9221c45ae7cc4926b3d01a98c0338a763b..b3c9c57c1b8516c29fdb21c4e9abb384603f90e9 100644 (file)
@@ -1954,13 +1954,12 @@ get_prev_frame (struct frame_info *this_frame)
      be allowed to unwind.  */
   /* NOTE: cagney/2003-02-25: Don't enable until someone has found
      hard evidence that this is needed.  */
-  /* NOTE: cagney/2003-07-07: Fixed a bug in inside_main_func() - wasn't
-     checking for "main" in the minimal symbols.  With that fixed
-     asm-source tests now stop in "main" instead of halting the
+  /* NOTE: cagney/2003-07-07: Fixed a bug in inside_main_func() -
+     wasn't checking for "main" in the minimal symbols.  With that
+     fixed asm-source tests now stop in "main" instead of halting the
      backtrace in weird and wonderful ways somewhere inside the entry
-     file.  Suspect that deprecated_inside_entry_file() and
-     inside_entry_func() tests were added to work around that (now
-     fixed) case.  */
+     file.  Suspect that tests for inside the entry file/func were
+     added to work around that (now fixed) case.  */
   /* NOTE: cagney/2003-07-15: danielj (if I'm reading it right)
      suggested having the inside_entry_func test use the
      inside_main_func() msymbol trick (along with entry_point_address()
@@ -1981,35 +1980,6 @@ get_prev_frame (struct frame_info *this_frame)
       return NULL;
     }
 
-  /* If we're inside the entry file, it isn't valid.  Don't apply this
-     test to a dummy frame - dummy frame PCs 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.  */
-  /* NOTE: vinschen/2003-04-01: Disabled.  It turns out that the call
-     to deprecated_inside_entry_file() destroys a meaningful backtrace
-     under some conditions, e.g. the backtrace tests in the
-     asm-source testcase are broken for some targets.  In this test
-     the functions are all implemented as part of one file and the
-     testcase is not necessarily linked with a start file (depending
-     on the target).  What happens is that the first frame is printed
-     normally and following frames are treated as being inside the
-     entry file then.  This way, only the #0 frame is printed in the
-     backtrace output.  */
-  if (0
-      && this_frame->type != DUMMY_FRAME && this_frame->level >= 0
-      && deprecated_inside_entry_file (get_frame_pc (this_frame)))
-    {
-      frame_debug_got_null_frame (gdb_stdlog, this_frame, "inside entry file");
-      return NULL;
-    }
-
   return get_prev_frame_1 (this_frame);
 }
 
index 02c37012ef84c9f06bccffb0b26e4736fea573b2..478ac954df20222a9afddbe1fdb10229dcfdd711 100644 (file)
@@ -126,10 +126,7 @@ i386_interix_frame_chain_valid (CORE_ADDR chain, struct frame_info *thisframe)
      be a signal handler caller).  If we're dealing with a signal
      handler caller, this will return valid, which is fine.  If not,
      it'll make the correct test.  */
-  return ((get_frame_type (thisframe) == SIGTRAMP_FRAME)
-          || (chain != 0
-              && !deprecated_inside_entry_file (read_memory_integer
-                                               (thisframe->frame + 4, 4))));
+  return ((get_frame_type (thisframe) == SIGTRAMP_FRAME) || chain != 0);
 }
 
 /* We want to find the previous frame, which on Interix is tricky when
index 2b8ca7d350fcb05a53c5e097430f86b2ebde5a6a..3381cb943e2a25b65640f34c690df684d3bc2b84 100644 (file)
@@ -57,7 +57,7 @@ struct objfile_data;
 
    NOTE: cagney/2003-09-09: It turns out that this "traditional"
    method doesn't work.  Corinna writes: ``It turns out that the call
-   to deprecated_inside_entry_file destroys a meaningful backtrace
+   to test for "inside entry file" destroys a meaningful backtrace
    under some conditions.  E. g. the backtrace tests in the asm-source
    testcase are broken for some targets.  In this test the functions
    are all implemented as part of one file and the testcase is not
index 229cdf7aff62bbf644530f0bf282c66dd6ddd802..633a023af1a0a4108d6a04ebeedc259711fd8c9b 100644 (file)
@@ -740,8 +740,7 @@ sh64_frame_chain (struct frame_info *frame)
                                   get_frame_base (frame),
                                   get_frame_base (frame)))
     return get_frame_base (frame);    /* dummy frame same as caller's frame */
-  if (get_frame_pc (frame)
-      && !deprecated_inside_entry_file (get_frame_pc (frame)))
+  if (get_frame_pc (frame))
     {
       int media_mode = pc_is_isa32 (get_frame_pc (frame));
       int size;