* [commit] Deprecate MIPS only IGNORE_HELPER_CALL
@ 2004-07-21 14:26 Andrew Cagney
2004-07-23 0:59 ` Mark Kettenis
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Cagney @ 2004-07-21 14:26 UTC (permalink / raw)
To: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 112 bytes --]
FYI, this MIPS only macro won't be added to the architecture vector.
Deprecating it makes that clear.
Andrew
[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 5079 bytes --]
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.
Index: infrun.c
===================================================================
RCS file: /cvs/src/src/gdb/infrun.c,v
retrieving revision 1.169
diff -p -u -r1.169 infrun.c
--- infrun.c 16 Jul 2004 19:41:48 -0000 1.169
+++ infrun.c 21 Jul 2004 14:21:43 -0000
@@ -161,14 +161,6 @@ static int may_follow_exec = MAY_FOLLOW_
#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
Index: mips-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mips-tdep.c,v
retrieving revision 1.302
diff -p -u -r1.302 mips-tdep.c
--- mips-tdep.c 20 Jul 2004 19:45:06 -0000 1.302
+++ mips-tdep.c 21 Jul 2004 14:21:44 -0000
@@ -5260,8 +5260,9 @@ mips_in_return_stub (CORE_ADDR pc, char
}
-/* 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_
"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)));
Index: config/mips/tm-mips.h
===================================================================
RCS file: /cvs/src/src/gdb/config/mips/tm-mips.h,v
retrieving revision 1.60
diff -p -u -r1.60 tm-mips.h
--- config/mips/tm-mips.h 22 Jun 2004 00:01:04 -0000 1.60
+++ config/mips/tm-mips.h 21 Jul 2004 14:21:44 -0000
@@ -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 */
Index: config/mips/tm-nbsd.h
===================================================================
RCS file: /cvs/src/src/gdb/config/mips/tm-nbsd.h,v
retrieving revision 1.5
diff -p -u -r1.5 tm-nbsd.h
--- config/mips/tm-nbsd.h 30 Apr 2004 20:52:17 -0000 1.5
+++ config/mips/tm-nbsd.h 21 Jul 2004 14:21:44 -0000
@@ -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 */
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [commit] Deprecate MIPS only IGNORE_HELPER_CALL
2004-07-21 14:26 [commit] Deprecate MIPS only IGNORE_HELPER_CALL Andrew Cagney
@ 2004-07-23 0:59 ` Mark Kettenis
2004-07-23 16:02 ` Andrew Cagney
0 siblings, 1 reply; 5+ messages in thread
From: Mark Kettenis @ 2004-07-23 0:59 UTC (permalink / raw)
To: cagney; +Cc: gdb-patches
Date: Wed, 21 Jul 2004 10:26:25 -0400
From: Andrew Cagney <cagney@gnu.org>
FYI, this MIPS only macro won't be added to the architecture vector.
Deprecating it makes that clear.
Andrew
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.
Andrew, this breaks OpenBSD/sparc64. Please look at the patch again.
You've #ifdef'd out code that's used on other targets than MIPS. Can
you please revert the patch, or fix it properly?
Mark
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [commit] Deprecate MIPS only IGNORE_HELPER_CALL
2004-07-23 0:59 ` Mark Kettenis
@ 2004-07-23 16:02 ` Andrew Cagney
2004-07-23 19:38 ` Andrew Cagney
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Cagney @ 2004-07-23 16:02 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
> Andrew, this breaks OpenBSD/sparc64. Please look at the patch again.
> You've #ifdef'd out code that's used on other targets than MIPS. Can
> you please revert the patch, or fix it properly?
Oops, I'll fix later today.
Andrew
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [commit] Deprecate MIPS only IGNORE_HELPER_CALL
2004-07-23 16:02 ` Andrew Cagney
@ 2004-07-23 19:38 ` Andrew Cagney
2004-07-24 21:21 ` Mark Kettenis
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Cagney @ 2004-07-23 19:38 UTC (permalink / raw)
To: gdb-patches; +Cc: Mark Kettenis
[-- Attachment #1: Type: text/plain, Size: 35 bytes --]
I've also checked this in.
Andrew
[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 1447 bytes --]
2004-07-23 Andrew Cagney <cagney@gnu.org>
* infrun.c (handle_inferior_event): Separate the STEP_OVER_ALL and
DEPRECATED_IGNORE_HELPER_CALL cases, only #ifdef the latter.
Index: infrun.c
===================================================================
RCS file: /cvs/src/src/gdb/infrun.c,v
retrieving revision 1.170
diff -p -u -r1.170 infrun.c
--- infrun.c 21 Jul 2004 14:23:36 -0000 1.170
+++ infrun.c 23 Jul 2004 19:12:21 -0000
@@ -2344,8 +2344,7 @@ process_event_stop_test:
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))
+ if (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
@@ -2356,6 +2355,16 @@ process_event_stop_test:
return;
}
#endif
+ if (step_over_calls == STEP_OVER_ALL)
+ {
+ /* We're doing a "next", set a breakpoint at callee's return
+ address (the address at which the caller will
+ resume). */
+ insert_step_resume_breakpoint (get_prev_frame (get_current_frame ()),
+ ecs);
+ keep_going (ecs);
+ return;
+ }
/* If we are in a function call trampoline (a stub between the
calling routine and the real function), locate the real
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [commit] Deprecate MIPS only IGNORE_HELPER_CALL
2004-07-23 19:38 ` Andrew Cagney
@ 2004-07-24 21:21 ` Mark Kettenis
0 siblings, 0 replies; 5+ messages in thread
From: Mark Kettenis @ 2004-07-24 21:21 UTC (permalink / raw)
To: cagney; +Cc: gdb-patches
Date: Fri, 23 Jul 2004 15:38:15 -0400
From: Andrew Cagney <cagney@gnu.org>
I've also checked this in.
Thanks,
Mark
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-07-24 21:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-21 14:26 [commit] Deprecate MIPS only IGNORE_HELPER_CALL Andrew Cagney
2004-07-23 0:59 ` Mark Kettenis
2004-07-23 16:02 ` Andrew Cagney
2004-07-23 19:38 ` Andrew Cagney
2004-07-24 21:21 ` Mark Kettenis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox