* 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.
This commit is contained in:
parent
7bfdd688ac
commit
6e4c6c91de
5 changed files with 25 additions and 20 deletions
|
@ -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
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue