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]

[RFA] Remove calls to inside_entry_file


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  <vinschen at redhat dot com>

        * 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 at redhat dot com


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