summaryrefslogtreecommitdiff
path: root/gdb/blockframe.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2004-02-04 16:34:51 +0000
committerDaniel Jacobowitz <dan@debian.org>2004-02-04 16:34:51 +0000
commit6e492e936c6ebf4375a9ad4d5cb935dbbb61c51e (patch)
tree12c53e016f325959c72829436f6f81188988e57f /gdb/blockframe.c
parentea1f833351a12a9ac0b4cea0b239a0f0886ad673 (diff)
downloadgdb-6e492e936c6ebf4375a9ad4d5cb935dbbb61c51e.tar.gz
* 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/blockframe.c')
-rw-r--r--gdb/blockframe.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index 4a7a380023f..00d7d8f13e4 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. */