summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/config/mips/tm-mips.h2
-rw-r--r--gdb/config/mips/tm-nbsd.h2
-rw-r--r--gdb/infrun.c25
-rw-r--r--gdb/mips-tdep.c9
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 <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
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)));