aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/breakpoint.c2
-rw-r--r--gdb/gdbarch.c12
-rw-r--r--gdb/gdbarch.h19
-rwxr-xr-xgdb/gdbarch.sh2
-rw-r--r--gdb/infrun.c3
6 files changed, 14 insertions, 34 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6f6fc94..349bbfd 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+2007-06-06 Markus Deuling <deuling@de.ibm.com>
+
+ * gdbarch.sh (GET_LONGJMP_TARGET): Replace by gdbarch_get_longjmp_target.
+ * infrun.c (handle_inferior_event): Likewise.
+ * gdbarch.sh (GET_LONGJMP_TARGET_P): Replace by
+ gdbarch_get_longjmp_target_p.
+ * breakpoint.c (breakpoint_re_set): Likewise.
+ * infrun.c (handle_inferior_event): Likewise.
+ * gdbarch.c, gdbarch.h: Regenerate.
+
2007-06-06 Ulrich Weigand <uweigand@de.ibm.com>
* hppa-hpux-tdep.c (args_for_find_stub, HP_ACC_EH_notify_hook,
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 867cc6d..730922c 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -7444,7 +7444,7 @@ breakpoint_re_set (void)
set_language (save_language);
input_radix = save_input_radix;
- if (GET_LONGJMP_TARGET_P ())
+ if (gdbarch_get_longjmp_target_p (current_gdbarch))
{
create_longjmp_breakpoint ("longjmp");
create_longjmp_breakpoint ("_longjmp");
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
index 29ba81d..11957fe 100644
--- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c
@@ -1054,21 +1054,9 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
fprintf_unfiltered (file,
"gdbarch_dump: frame_red_zone_size = %s\n",
paddr_d (current_gdbarch->frame_red_zone_size));
-#ifdef GET_LONGJMP_TARGET_P
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "GET_LONGJMP_TARGET_P()",
- XSTRING (GET_LONGJMP_TARGET_P ()));
-#endif
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
gdbarch_get_longjmp_target_p (current_gdbarch));
-#ifdef GET_LONGJMP_TARGET
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "GET_LONGJMP_TARGET(pc)",
- XSTRING (GET_LONGJMP_TARGET (pc)));
-#endif
fprintf_unfiltered (file,
"gdbarch_dump: get_longjmp_target = <0x%lx>\n",
(long) current_gdbarch->get_longjmp_target);
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index 17ab3be..9e1f700 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -537,30 +537,11 @@ extern void set_gdbarch_cannot_store_register (struct gdbarch *gdbarch, gdbarch_
/* setjmp/longjmp support. */
-#if defined (GET_LONGJMP_TARGET)
-/* Legacy for systems yet to multi-arch GET_LONGJMP_TARGET */
-#if !defined (GET_LONGJMP_TARGET_P)
-#define GET_LONGJMP_TARGET_P() (1)
-#endif
-#endif
-
extern int gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch);
-#if !defined (GDB_TM_FILE) && defined (GET_LONGJMP_TARGET_P)
-#error "Non multi-arch definition of GET_LONGJMP_TARGET"
-#endif
-#if !defined (GET_LONGJMP_TARGET_P)
-#define GET_LONGJMP_TARGET_P() (gdbarch_get_longjmp_target_p (current_gdbarch))
-#endif
typedef int (gdbarch_get_longjmp_target_ftype) (CORE_ADDR *pc);
extern int gdbarch_get_longjmp_target (struct gdbarch *gdbarch, CORE_ADDR *pc);
extern void set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch, gdbarch_get_longjmp_target_ftype *get_longjmp_target);
-#if !defined (GDB_TM_FILE) && defined (GET_LONGJMP_TARGET)
-#error "Non multi-arch definition of GET_LONGJMP_TARGET"
-#endif
-#if !defined (GET_LONGJMP_TARGET)
-#define GET_LONGJMP_TARGET(pc) (gdbarch_get_longjmp_target (current_gdbarch, pc))
-#endif
extern int gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch);
extern void set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch, int believe_pcc_promotion);
diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
index 4d5e60a..d7cc4be 100755
--- a/gdb/gdbarch.sh
+++ b/gdb/gdbarch.sh
@@ -483,7 +483,7 @@ F:=:int:register_bytes_ok:long nr_bytes:nr_bytes
f::int:cannot_fetch_register:int regnum:regnum::cannot_register_not::0
f::int:cannot_store_register:int regnum:regnum::cannot_register_not::0
# setjmp/longjmp support.
-F:=:int:get_longjmp_target:CORE_ADDR *pc:pc
+F::int:get_longjmp_target:CORE_ADDR *pc:pc
#
v:=:int:believe_pcc_promotion:::::::
#
diff --git a/gdb/infrun.c b/gdb/infrun.c
index f90a556..3eb0682 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -2074,7 +2074,8 @@ process_event_stop_test:
disable_longjmp_breakpoint ();
remove_breakpoints ();
breakpoints_inserted = 0;
- if (!GET_LONGJMP_TARGET_P () || !GET_LONGJMP_TARGET (&jmp_buf_pc))
+ if (!gdbarch_get_longjmp_target_p (current_gdbarch)
+ || !gdbarch_get_longjmp_target (current_gdbarch, &jmp_buf_pc))
{
keep_going (ecs);
return;