2004-07-21 Andrew Cagney <cagney@gnu.org>
* config/mips/tm-mips.h (DEPRECATED_IGNORE_HELPER_CALL): Deprecate. * mips-tdep.c (mips_dump_tdep, mips_ignore_helper): Update. * infrun.c (DEPRECATED_IGNORE_HELPER_CALL): Delete macro. (handle_inferior_event): Wrap call to deprecated IGNORE_HELPER_CALL in #ifdef. * config/mips/tm-nbsd.h: Update.
This commit is contained in:
parent
0b52efa6eb
commit
a53c66de31
5 changed files with 31 additions and 16 deletions
|
@ -1,3 +1,12 @@
|
|||
2004-07-21 Andrew Cagney <cagney@gnu.org>
|
||||
|
||||
* config/mips/tm-mips.h (DEPRECATED_IGNORE_HELPER_CALL): Deprecate.
|
||||
* mips-tdep.c (mips_dump_tdep, mips_ignore_helper): Update.
|
||||
* infrun.c (DEPRECATED_IGNORE_HELPER_CALL): Delete macro.
|
||||
(handle_inferior_event): Wrap call to deprecated
|
||||
IGNORE_HELPER_CALL in #ifdef.
|
||||
* config/mips/tm-nbsd.h: Update.
|
||||
|
||||
2004-07-20 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
* rs6000-tdep.c (rs6000_gdbarch_init): The register set used for
|
||||
|
|
|
@ -99,7 +99,7 @@ typedef struct mips_extra_func_info
|
|||
extern struct frame_info *setup_arbitrary_frame (int, CORE_ADDR *);
|
||||
|
||||
/* Functions for dealing with MIPS16 call and return stubs. */
|
||||
#define IGNORE_HELPER_CALL(pc) mips_ignore_helper (pc)
|
||||
#define DEPRECATED_IGNORE_HELPER_CALL(pc) mips_ignore_helper (pc)
|
||||
extern int mips_ignore_helper (CORE_ADDR pc);
|
||||
|
||||
/* Definitions and declarations used by mips-tdep.c and remote-mips.c */
|
||||
|
|
|
@ -29,6 +29,6 @@
|
|||
#undef IN_SOLIB_CALL_TRAMPOLINE
|
||||
#undef IN_SOLIB_RETURN_TRAMPOLINE
|
||||
#undef SKIP_TRAMPOLINE_CODE
|
||||
#undef IGNORE_HELPER_CALL
|
||||
#undef DEPRECATED_IGNORE_HELPER_CALL
|
||||
|
||||
#endif /* TM_NBSD_H */
|
||||
|
|
25
gdb/infrun.c
25
gdb/infrun.c
|
@ -161,14 +161,6 @@ static int may_follow_exec = MAY_FOLLOW_EXEC;
|
|||
#define SOLIB_IN_DYNAMIC_LINKER(pid,pc) 0
|
||||
#endif
|
||||
|
||||
/* On MIPS16, a function that returns a floating point value may call
|
||||
a library helper function to copy the return value to a floating point
|
||||
register. The IGNORE_HELPER_CALL macro returns non-zero if we
|
||||
should ignore (i.e. step over) this function call. */
|
||||
#ifndef IGNORE_HELPER_CALL
|
||||
#define IGNORE_HELPER_CALL(pc) 0
|
||||
#endif
|
||||
|
||||
/* On some systems, the PC may be left pointing at an instruction that won't
|
||||
actually be executed. This is usually indicated by a bit in the PSW. If
|
||||
we find ourselves in such a state, then we step the target beyond the
|
||||
|
@ -2341,7 +2333,19 @@ process_event_stop_test:
|
|||
return;
|
||||
}
|
||||
|
||||
if (step_over_calls == STEP_OVER_ALL || IGNORE_HELPER_CALL (stop_pc))
|
||||
#ifdef DEPRECATED_IGNORE_HELPER_CALL
|
||||
/* On MIPS16, a function that returns a floating point value may
|
||||
call a library helper function to copy the return value to a
|
||||
floating point register. The DEPRECATED_IGNORE_HELPER_CALL
|
||||
macro returns non-zero if we should ignore (i.e. step over)
|
||||
this function call. */
|
||||
/* FIXME: cagney/2004-07-21: These custom ``ignore frame when
|
||||
stepping'' function attributes (SIGTRAMP_FRAME,
|
||||
DEPRECATED_IGNORE_HELPER_CALL, SKIP_TRAMPOLINE_CODE,
|
||||
skip_language_trampoline frame, et.al.) need to be replaced
|
||||
with generic attributes bound to the frame's function. */
|
||||
if (step_over_calls == STEP_OVER_ALL
|
||||
|| DEPRECATED_IGNORE_HELPER_CALL (stop_pc))
|
||||
{
|
||||
/* We're doing a "next", set a breakpoint at callee's return
|
||||
address (the address at which the caller will
|
||||
|
@ -2351,7 +2355,8 @@ process_event_stop_test:
|
|||
keep_going (ecs);
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* If we are in a function call trampoline (a stub between the
|
||||
calling routine and the real function), locate the real
|
||||
function. That's what tells us (a) whether we want to step
|
||||
|
|
|
@ -5260,8 +5260,9 @@ mips_in_return_stub (CORE_ADDR pc, char *name)
|
|||
}
|
||||
|
||||
|
||||
/* Return non-zero if the PC is in a library helper function that should
|
||||
be ignored. This implements the IGNORE_HELPER_CALL macro. */
|
||||
/* Return non-zero if the PC is in a library helper function that
|
||||
should be ignored. This implements the
|
||||
DEPRECATED_IGNORE_HELPER_CALL macro. */
|
||||
|
||||
int
|
||||
mips_ignore_helper (CORE_ADDR pc)
|
||||
|
@ -5930,8 +5931,8 @@ mips_dump_tdep (struct gdbarch *current_gdbarch, struct ui_file *file)
|
|||
"mips_dump_tdep: FIRST_EMBED_REGNUM = %d\n",
|
||||
FIRST_EMBED_REGNUM);
|
||||
fprintf_unfiltered (file,
|
||||
"mips_dump_tdep: IGNORE_HELPER_CALL # %s\n",
|
||||
XSTRING (IGNORE_HELPER_CALL (PC)));
|
||||
"mips_dump_tdep: DEPRECATED_IGNORE_HELPER_CALL # %s\n",
|
||||
XSTRING (DEPRECATED_IGNORE_HELPER_CALL (PC)));
|
||||
fprintf_unfiltered (file,
|
||||
"mips_dump_tdep: IN_SOLIB_CALL_TRAMPOLINE # %s\n",
|
||||
XSTRING (IN_SOLIB_CALL_TRAMPOLINE (PC, NAME)));
|
||||
|
|
Loading…
Reference in a new issue