From a53c66de31b87c66e2fc17afb3558983a5d80bf9 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Wed, 21 Jul 2004 14:23:37 +0000 Subject: [PATCH] 2004-07-21 Andrew Cagney * 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. --- gdb/ChangeLog | 9 +++++++++ gdb/config/mips/tm-mips.h | 2 +- gdb/config/mips/tm-nbsd.h | 2 +- gdb/infrun.c | 25 +++++++++++++++---------- gdb/mips-tdep.c | 9 +++++---- 5 files changed, 31 insertions(+), 16 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9cc73e1de8e..73d444139bc 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2004-07-21 Andrew Cagney + + * 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 * rs6000-tdep.c (rs6000_gdbarch_init): The register set used for diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h index 018877c2e03..9c1e832dbbd 100644 --- a/gdb/config/mips/tm-mips.h +++ b/gdb/config/mips/tm-mips.h @@ -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 */ diff --git a/gdb/config/mips/tm-nbsd.h b/gdb/config/mips/tm-nbsd.h index c7e45fcff0e..209e28e6116 100644 --- a/gdb/config/mips/tm-nbsd.h +++ b/gdb/config/mips/tm-nbsd.h @@ -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 */ diff --git a/gdb/infrun.c b/gdb/infrun.c index c57da3e35ec..69cd954186d 100644 --- a/gdb/infrun.c +++ b/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 diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index b797e395e3a..c19977f4832 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -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))); -- 2.30.2