*** empty log message ***
This commit is contained in:
parent
e66408edfd
commit
f8624c62cc
@ -1,3 +1,12 @@
|
||||
2010-04-29 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
|
||||
|
||||
* arm-linux-tdep.c (ARM_LINUX_JB_PC): Remove.
|
||||
(ARM_LINUX_JB_PC_FPA): Add, offset of PC in longjmp buffer for FPA.
|
||||
(ARM_LINUX_JB_PC_EABI): Add, offset of PC in longjmp buffer for
|
||||
EABI.
|
||||
(arm_linux_init_abi): Set up JB_PC field dependent on FP model in
|
||||
use.
|
||||
|
||||
2010-04-29 Pedro Alves <pedro@codesourcery.com>
|
||||
|
||||
PR gdb/11557
|
||||
|
@ -82,9 +82,20 @@ static const char arm_linux_thumb2_be_breakpoint[] = { 0xf7, 0xf0, 0xa0, 0x00 };
|
||||
|
||||
static const char arm_linux_thumb2_le_breakpoint[] = { 0xf0, 0xf7, 0x00, 0xa0 };
|
||||
|
||||
/* Description of the longjmp buffer. */
|
||||
/* Description of the longjmp buffer. The buffer is treated as an array of
|
||||
elements of size ARM_LINUX_JB_ELEMENT_SIZE.
|
||||
|
||||
The location of saved registers in this buffer (in particular the PC
|
||||
to use after longjmp is called) varies depending on the ABI (in
|
||||
particular the FP model) and also (possibly) the C Library.
|
||||
|
||||
For glibc, eglibc, and uclibc the following holds: If the FP model is
|
||||
SoftVFP or VFP (which implies EABI) then the PC is at offset 9 in the
|
||||
buffer. This is also true for the SoftFPA model. However, for the FPA
|
||||
model the PC is at offset 21 in the buffer. */
|
||||
#define ARM_LINUX_JB_ELEMENT_SIZE INT_REGISTER_SIZE
|
||||
#define ARM_LINUX_JB_PC 21
|
||||
#define ARM_LINUX_JB_PC_FPA 21
|
||||
#define ARM_LINUX_JB_PC_EABI 9
|
||||
|
||||
/*
|
||||
Dynamic Linking on ARM GNU/Linux
|
||||
@ -877,7 +888,22 @@ arm_linux_init_abi (struct gdbarch_info info,
|
||||
if (tdep->fp_model == ARM_FLOAT_AUTO)
|
||||
tdep->fp_model = ARM_FLOAT_FPA;
|
||||
|
||||
tdep->jb_pc = ARM_LINUX_JB_PC;
|
||||
switch (tdep->fp_model)
|
||||
{
|
||||
case ARM_FLOAT_FPA:
|
||||
tdep->jb_pc = ARM_LINUX_JB_PC_FPA;
|
||||
break;
|
||||
case ARM_FLOAT_SOFT_FPA:
|
||||
case ARM_FLOAT_SOFT_VFP:
|
||||
case ARM_FLOAT_VFP:
|
||||
tdep->jb_pc = ARM_LINUX_JB_PC_EABI;
|
||||
break;
|
||||
default:
|
||||
internal_error
|
||||
(__FILE__, __LINE__,
|
||||
_("arm_linux_init_abi: Floating point model not supported"));
|
||||
break;
|
||||
}
|
||||
tdep->jb_elt_size = ARM_LINUX_JB_ELEMENT_SIZE;
|
||||
|
||||
set_solib_svr4_fetch_link_map_offsets
|
||||
|
Loading…
Reference in New Issue
Block a user