summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2004-04-30 20:44:59 +0000
committerAndrew Cagney <cagney@redhat.com>2004-04-30 20:44:59 +0000
commitcd5e23b2c8a8d48bac4f02fde9baa2b72bc29e1e (patch)
treefef7aec1b935e00cfb11d2e3309d4c2d20895437
parent23240a601500902f4abdf30094ce9a4a6154c3dd (diff)
downloadgdb-cd5e23b2c8a8d48bac4f02fde9baa2b72bc29e1e.tar.gz
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.
-rw-r--r--gdb/ChangeLog11
-rw-r--r--gdb/blockframe.c35
-rw-r--r--gdb/defs.h2
-rw-r--r--gdb/frame.c40
-rw-r--r--gdb/i386-interix-tdep.c5
-rw-r--r--gdb/objfiles.h2
-rw-r--r--gdb/sh64-tdep.c3
7 files changed, 19 insertions, 79 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 751c341f112..c522d9b0176 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index 5fd20f0e43d..7672e905eed 100644
--- a/gdb/blockframe.c
+++ b/gdb/blockframe.c
@@ -43,34 +43,6 @@
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;
}
diff --git a/gdb/defs.h b/gdb/defs.h
index a2c51ba807d..362f4a773c8 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -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 */
diff --git a/gdb/frame.c b/gdb/frame.c
index bdb6cb9221c..b3c9c57c1b8 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -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);
}
diff --git a/gdb/i386-interix-tdep.c b/gdb/i386-interix-tdep.c
index 02c37012ef8..478ac954df2 100644
--- a/gdb/i386-interix-tdep.c
+++ b/gdb/i386-interix-tdep.c
@@ -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
diff --git a/gdb/objfiles.h b/gdb/objfiles.h
index 2b8ca7d350f..3381cb943e2 100644
--- a/gdb/objfiles.h
+++ b/gdb/objfiles.h
@@ -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
diff --git a/gdb/sh64-tdep.c b/gdb/sh64-tdep.c
index 229cdf7aff6..633a023af1a 100644
--- a/gdb/sh64-tdep.c
+++ b/gdb/sh64-tdep.c
@@ -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;