mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 01:50:24 +08:00
* 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.
This commit is contained in:
@ -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>
|
2007-06-06 Ulrich Weigand <uweigand@de.ibm.com>
|
||||||
|
|
||||||
* hppa-hpux-tdep.c (args_for_find_stub, HP_ACC_EH_notify_hook,
|
* hppa-hpux-tdep.c (args_for_find_stub, HP_ACC_EH_notify_hook,
|
||||||
|
@ -7444,7 +7444,7 @@ breakpoint_re_set (void)
|
|||||||
set_language (save_language);
|
set_language (save_language);
|
||||||
input_radix = save_input_radix;
|
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");
|
||||||
create_longjmp_breakpoint ("_longjmp");
|
create_longjmp_breakpoint ("_longjmp");
|
||||||
|
@ -1054,21 +1054,9 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
|
|||||||
fprintf_unfiltered (file,
|
fprintf_unfiltered (file,
|
||||||
"gdbarch_dump: frame_red_zone_size = %s\n",
|
"gdbarch_dump: frame_red_zone_size = %s\n",
|
||||||
paddr_d (current_gdbarch->frame_red_zone_size));
|
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,
|
fprintf_unfiltered (file,
|
||||||
"gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
|
"gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
|
||||||
gdbarch_get_longjmp_target_p (current_gdbarch));
|
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,
|
fprintf_unfiltered (file,
|
||||||
"gdbarch_dump: get_longjmp_target = <0x%lx>\n",
|
"gdbarch_dump: get_longjmp_target = <0x%lx>\n",
|
||||||
(long) current_gdbarch->get_longjmp_target);
|
(long) current_gdbarch->get_longjmp_target);
|
||||||
|
@ -537,30 +537,11 @@ extern void set_gdbarch_cannot_store_register (struct gdbarch *gdbarch, gdbarch_
|
|||||||
|
|
||||||
/* setjmp/longjmp support. */
|
/* 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);
|
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);
|
typedef int (gdbarch_get_longjmp_target_ftype) (CORE_ADDR *pc);
|
||||||
extern int gdbarch_get_longjmp_target (struct gdbarch *gdbarch, 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);
|
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 int gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch);
|
||||||
extern void set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch, int believe_pcc_promotion);
|
extern void set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch, int believe_pcc_promotion);
|
||||||
|
@ -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_fetch_register:int regnum:regnum::cannot_register_not::0
|
||||||
f::int:cannot_store_register:int regnum:regnum::cannot_register_not::0
|
f::int:cannot_store_register:int regnum:regnum::cannot_register_not::0
|
||||||
# setjmp/longjmp support.
|
# 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:::::::
|
v:=:int:believe_pcc_promotion:::::::
|
||||||
#
|
#
|
||||||
|
@ -2074,7 +2074,8 @@ process_event_stop_test:
|
|||||||
disable_longjmp_breakpoint ();
|
disable_longjmp_breakpoint ();
|
||||||
remove_breakpoints ();
|
remove_breakpoints ();
|
||||||
breakpoints_inserted = 0;
|
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);
|
keep_going (ecs);
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user