forked from Imagelibrary/binutils-gdb
* arch-utils.h: Update copyright.
* gdbarch.sh (PC_IN_SIGTRAMP): Add. * gdbarch.h, gdbarch.c: Re-generate. * inferior.h (IN_SIGTRAMP): Delete definition. * arch-utils.c (legacy_pc_in_sigtramp): New function. * arch-utils.h (legacy_pc_in_sigtramp): Declare. * mips-tdep.c (mips_init_extra_frame_info): Use PC_IN_SIGTRAMP. (mips_dump_tdep): Do not print value of IN_SIGTRAMP. * hppa-tdep.c (pc_in_interrupt_handler): Use PC_IN_SIGTRAMP. (find_proc_framesize): Ditto. * alpha-tdep.c (alpha_osf_skip_sigtramp_frame): Ditto. (alpha_init_extra_frame_info): Ditto. * infrun.c (handle_inferior_event): Ditto. (handle_inferior_event): Ditto. (check_sigtramp2): Ditto. * blockframe.c (create_new_frame): Ditto. (get_prev_frame): Ditto. * ppc-linux-tdep.c: Update comments. * i386-linux-tdep.c: Update comments. * breakpoint.c (bpstat_what): Update comment. * gdbint.texinfo (Target Architecture Definition): Replace IN_SIGTRAMP with PC_IN_SIGTRAMP.
This commit is contained in:
@@ -1096,20 +1096,20 @@ arm_init_extra_frame_info (int fromleaf, struct frame_info *fi)
|
||||
sp = (fi->next->frame - fi->next->extra_info->frameoffset
|
||||
+ fi->next->extra_info->framesize);
|
||||
|
||||
/* Determine whether or not we're in a sigtramp frame.
|
||||
/* Determine whether or not we're in a sigtramp frame.
|
||||
Unfortunately, it isn't sufficient to test
|
||||
fi->signal_handler_caller because this value is sometimes set
|
||||
after invoking INIT_EXTRA_FRAME_INFO. So we test *both*
|
||||
fi->signal_handler_caller and IN_SIGTRAMP to determine if we need
|
||||
to use the sigcontext addresses for the saved registers.
|
||||
fi->signal_handler_caller and PC_IN_SIGTRAMP to determine if we
|
||||
need to use the sigcontext addresses for the saved registers.
|
||||
|
||||
Note: If an ARM IN_SIGTRAMP method ever needs to compare against
|
||||
the name of the function, the code below will have to be changed
|
||||
to first fetch the name of the function and then pass this name
|
||||
to IN_SIGTRAMP. */
|
||||
Note: If an ARM PC_IN_SIGTRAMP method ever needs to compare
|
||||
against the name of the function, the code below will have to be
|
||||
changed to first fetch the name of the function and then pass
|
||||
this name to PC_IN_SIGTRAMP. */
|
||||
|
||||
if (SIGCONTEXT_REGISTER_ADDRESS_P ()
|
||||
&& (fi->signal_handler_caller || IN_SIGTRAMP (fi->pc, (char *)0)))
|
||||
&& (fi->signal_handler_caller || PC_IN_SIGTRAMP (fi->pc, (char *)0)))
|
||||
{
|
||||
for (reg = 0; reg < NUM_REGS; reg++)
|
||||
fi->saved_regs[reg] = SIGCONTEXT_REGISTER_ADDRESS (sp, fi->pc, reg);
|
||||
|
||||
Reference in New Issue
Block a user