mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-29 02:20:51 +00:00
* gdbarch.sh (GET_LONGJMP_TARGET): Add rule.
* gdbarch.c gdbarch.h: Regenerate. * breakpoint.c (create_longjmp_breakpoint): Always compile this function. (breakpoint_reset): Test GET_LONGJMP_TARGET_P(). * infrun.c (GET_LONGJMP_TARGET): Delete default definition. (handle_inferior_event): Test GET_LONGJMP_TARGET_P(). * arm-tdep.h (struct gdbarch_tdep): Add jb_pc and jb_elt_size fields. * arm-tdep.c (arm_get_longjmp_target): New function. (arm_gdbarch_init): Initialize jb_pc to -1. If ABI handler changes this to a positive value register arm_get_longjmp_target as the longjmp handler. * arm-linux-tdep.c (arm_get_longjmp_target): Delete. (arm_linux_init_abi): Set up longjmp description in tdep. * armnbsd-nat.c (get_longjmp_target): Delete. * armnbsd-tdep.c (arm_netbsd_init_abi_common): Set up longjmp description in tdep. * config/arm/tm-nbsd.h (JB_ELEMENT_SIZE, JB_PC): Delete. (get_longjmp_target): Delete declaration. (GET_LONGJMP_TARGET): Delete. * config/arm/tm-linux.h (arm_get_longjmp_target): Delete declaration. (GET_LONGJMP_TARGET): Delete.
This commit is contained in:
@@ -76,14 +76,6 @@ extern CORE_ADDR arm_linux_push_arguments (int, struct value **, CORE_ADDR,
|
||||
/* Offset to saved PC in sigcontext structure, from <asm/sigcontext.h> */
|
||||
#define SIGCONTEXT_PC_OFFSET (sizeof(unsigned long) * 18)
|
||||
|
||||
/* Figure out where the longjmp will land. The code expects that longjmp
|
||||
has just been entered and the code had not altered the registers, so
|
||||
the arguments are are still in r0-r1. r0 points at the jmp_buf structure
|
||||
from which the target pc (JB_PC) is extracted. This pc value is copied
|
||||
into ADDR. This routine returns true on success */
|
||||
extern int arm_get_longjmp_target (CORE_ADDR *);
|
||||
#define GET_LONGJMP_TARGET(addr) arm_get_longjmp_target (addr)
|
||||
|
||||
/* On ARM Linux, each call to a library routine goes through a small piece
|
||||
of trampoline code in the ".plt" section. The wait_for_inferior()
|
||||
routine uses this macro to detect when we have stepped into one of
|
||||
|
||||
Reference in New Issue
Block a user