aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2004-02-04 16:34:51 +0000
committerDaniel Jacobowitz <drow@false.org>2004-02-04 16:34:51 +0000
commit6e4c6c91defcde7bd46625742b7df8108e8d597f (patch)
tree2d19576130def94209dc155b3645530f58213dd8 /gdb
parent7bfdd688ac9a8864f8be2a79e7297a501a349f85 (diff)
downloadgdb-6e4c6c91defcde7bd46625742b7df8108e8d597f.zip
gdb-6e4c6c91defcde7bd46625742b7df8108e8d597f.tar.gz
gdb-6e4c6c91defcde7bd46625742b7df8108e8d597f.tar.bz2
* objfiles.h: Delete comments refering to inside_entry_func and
DEPRECATED_FRAME_CHAIN_VALID. * defs.h (inside_entry_func): Update prototype.. * blockframe.c (inside_entry_func): Rename to legacy_inside_entry_func. Add new inside_entry_func taking a frame. * frame.c (get_prev_frame): Pass the frame to inside_entry_func.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/blockframe.c15
-rw-r--r--gdb/defs.h5
-rw-r--r--gdb/frame.c2
-rw-r--r--gdb/objfiles.h13
5 files changed, 25 insertions, 20 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 535ba2e..d39114a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+2004-02-04 Andrew Cagney <cagney@redhat.com>
+ Daniel Jacobowitz <drow@mvista.com>
+
+ * objfiles.h: Delete comments refering to inside_entry_func and
+ DEPRECATED_FRAME_CHAIN_VALID.
+ * defs.h (inside_entry_func): Update prototype..
+ * blockframe.c (inside_entry_func): Rename to
+ legacy_inside_entry_func. Add new inside_entry_func taking a frame.
+ * frame.c (get_prev_frame): Pass the frame to inside_entry_func.
+
2004-02-03 Jeff Johnston <jjohnstn@redhat.com>
* breakpoint.c (struct captured_parse_breakpoint_args): Move
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index 4a7a380..00d7d8f 100644
--- a/gdb/blockframe.c
+++ b/gdb/blockframe.c
@@ -156,11 +156,18 @@ inside_main_func (CORE_ADDR pc)
&& symfile_objfile->ei.main_func_highpc > pc);
}
-/* Test whether PC is inside the range of addresses that corresponds
- to the process entry point function. */
+/* Test whether THIS_FRAME is inside the process entry point function. */
int
-inside_entry_func (CORE_ADDR pc)
+inside_entry_func (struct frame_info *this_frame)
+{
+ return (get_frame_func (this_frame) == entry_point_address ());
+}
+
+/* Similar to inside_entry_func, but accomodating legacy frame code. */
+
+static int
+legacy_inside_entry_func (CORE_ADDR pc)
{
if (symfile_objfile == 0)
return 0;
@@ -604,7 +611,7 @@ legacy_frame_chain_valid (CORE_ADDR fp, struct frame_info *fi)
/* If we're already inside the entry function for the main objfile, then it
isn't valid. */
- if (inside_entry_func (get_frame_pc (fi)))
+ if (legacy_inside_entry_func (get_frame_pc (fi)))
return 0;
/* If we're inside the entry file, it isn't valid. */
diff --git a/gdb/defs.h b/gdb/defs.h
index 43316e5..0702bba 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -324,10 +324,11 @@ struct cleanup
struct symtab;
struct breakpoint;
+struct frame_info;
/* From blockframe.c */
-extern int inside_entry_func (CORE_ADDR);
+extern int inside_entry_func (struct frame_info *this_frame);
extern int deprecated_inside_entry_file (CORE_ADDR addr);
@@ -656,8 +657,6 @@ enum lval_type
lval_reg_frame_relative
};
-struct frame_info;
-
/* Control types for commands */
enum misc_command_type
diff --git a/gdb/frame.c b/gdb/frame.c
index a7da919..6c2a29f 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -1838,7 +1838,7 @@ get_prev_frame (struct frame_info *this_frame)
&& backtrace_beyond_entry_func
#endif
&& this_frame->type != DUMMY_FRAME && this_frame->level >= 0
- && inside_entry_func (get_frame_pc (this_frame)))
+ && inside_entry_func (this_frame))
{
if (frame_debug)
{
diff --git a/gdb/objfiles.h b/gdb/objfiles.h
index 732af4d..aeb5892 100644
--- a/gdb/objfiles.h
+++ b/gdb/objfiles.h
@@ -98,18 +98,7 @@ struct objfile_data;
use the block at main, or can't find it for some reason, everything
still works as before. And if we have no startup code debugging
information but we do have usable information for main(), backtraces
- from user code don't go wandering off into the startup code.
-
- To use this method, define your DEPRECATED_FRAME_CHAIN_VALID macro
- like:
-
- #define DEPRECATED_FRAME_CHAIN_VALID(chain, thisframe) \
- (chain != 0 \
- && !(inside_main_func ((thisframe)->pc)) \
- && !(inside_entry_func ((thisframe)->pc)))
-
- and add initializations of the four scope controlling variables inside
- the object file / debugging information processing modules. */
+ from user code don't go wandering off into the startup code. */
struct entry_info
{