[gdb/tdep] Fix ARM_LINUX_JB_PC_EABI
In arm-linux-tdep.c, ARM_LINUX_JB_PC_EABI is defined as 9, but it's been 1 since glibc 2.20. See glibc commit 80a56cc3ee ("ARM: Add SystemTap probes to longjmp and setjmp."). Update it, allowing us to run into the gdb/26967 kfail. Tested on arm-linux. Approved-By: Luis Machado <luis.machado@arm.com> PR arm/tdep Bug: https://www.sourceware.org/bugzilla/show_bug.cgi?id=31089
This commit is contained in:
parent
d89cd643c5
commit
1a7d840a21
1 changed files with 16 additions and 2 deletions
|
@ -101,12 +101,26 @@ static const gdb_byte arm_linux_thumb2_le_breakpoint[] = { 0xf0, 0xf7, 0x00, 0xa
|
||||||
particular the FP model) and also (possibly) the C Library.
|
particular the FP model) and also (possibly) the C Library.
|
||||||
|
|
||||||
For glibc, eglibc, and uclibc the following holds: If the FP model is
|
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
|
SoftVFP or VFP (which implies EABI) then the PC is at offset 1 or 9 in the
|
||||||
buffer. This is also true for the SoftFPA model. However, for the FPA
|
buffer. This is also true for the SoftFPA model. However, for the FPA
|
||||||
model the PC is at offset 21 in the buffer. */
|
model the PC is at offset 21 in the buffer. */
|
||||||
#define ARM_LINUX_JB_ELEMENT_SIZE ARM_INT_REGISTER_SIZE
|
#define ARM_LINUX_JB_ELEMENT_SIZE ARM_INT_REGISTER_SIZE
|
||||||
#define ARM_LINUX_JB_PC_FPA 21
|
#define ARM_LINUX_JB_PC_FPA 21
|
||||||
#define ARM_LINUX_JB_PC_EABI 9
|
#ifdef __UCLIBC__
|
||||||
|
# define ARM_LINUX_JB_PC_EABI 9
|
||||||
|
#else
|
||||||
|
# ifdef __GLIBC__
|
||||||
|
# if __GLIBC_PREREQ(2, 20)
|
||||||
|
/* This has been 1 since glibc 2.20, see glibc commit 80a56cc3ee ("ARM: Add
|
||||||
|
SystemTap probes to longjmp and setjmp."). */
|
||||||
|
# define ARM_LINUX_JB_PC_EABI 1
|
||||||
|
# else
|
||||||
|
# define ARM_LINUX_JB_PC_EABI 9
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define ARM_LINUX_JB_PC_EABI 9
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Dynamic Linking on ARM GNU/Linux
|
Dynamic Linking on ARM GNU/Linux
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue