diff options
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/breakpoint.c | 2 | ||||
-rw-r--r-- | gdb/gdbarch.c | 12 | ||||
-rw-r--r-- | gdb/gdbarch.h | 19 | ||||
-rwxr-xr-x | gdb/gdbarch.sh | 2 | ||||
-rw-r--r-- | gdb/infrun.c | 3 |
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; |