* arm-linux-tdep.c (arm_linux_arm_be_breakpoint): New.

(arm_linux_init_abi): Use arm_linux_arm_be_breakpoint.
This commit is contained in:
Daniel Jacobowitz 2003-09-07 01:36:00 +00:00
parent 9a5f969215
commit 2ef47cd0ea
2 changed files with 14 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2003-09-06 Daniel Jacobowitz <drow@mvista.com>
* arm-linux-tdep.c (arm_linux_arm_be_breakpoint): New.
(arm_linux_init_abi): Use arm_linux_arm_be_breakpoint.
2003-09-06 Mark Kettenis <kettenis@gnu.org> 2003-09-06 Mark Kettenis <kettenis@gnu.org>
* sol-thread.c: Include "gdb_string.h". * sol-thread.c: Include "gdb_string.h".

View File

@ -41,12 +41,13 @@
is to execute a particular software interrupt, rather than use a is to execute a particular software interrupt, rather than use a
particular undefined instruction to provoke a trap. Upon exection particular undefined instruction to provoke a trap. Upon exection
of the software interrupt the kernel stops the inferior with a of the software interrupt the kernel stops the inferior with a
SIGTRAP, and wakes the debugger. Since ARM GNU/Linux is little SIGTRAP, and wakes the debugger. Since ARM GNU/Linux doesn't support
endian, and doesn't support Thumb at the moment we only override Thumb at the moment we only override the ARM breakpoints. */
the ARM little-endian breakpoint. */
static const char arm_linux_arm_le_breakpoint[] = { 0x01, 0x00, 0x9f, 0xef }; static const char arm_linux_arm_le_breakpoint[] = { 0x01, 0x00, 0x9f, 0xef };
static const char arm_linux_arm_be_breakpoint[] = { 0xef, 0x9f, 0x00, 0x01 };
/* DEPRECATED_CALL_DUMMY_WORDS: /* DEPRECATED_CALL_DUMMY_WORDS:
This sequence of words is the instructions This sequence of words is the instructions
@ -566,6 +567,9 @@ arm_linux_init_abi (struct gdbarch_info info,
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
tdep->lowest_pc = 0x8000; tdep->lowest_pc = 0x8000;
if (info.byte_order == BFD_ENDIAN_BIG)
tdep->arm_breakpoint = arm_linux_arm_be_breakpoint;
else
tdep->arm_breakpoint = arm_linux_arm_le_breakpoint; tdep->arm_breakpoint = arm_linux_arm_le_breakpoint;
tdep->arm_breakpoint_size = sizeof (arm_linux_arm_le_breakpoint); tdep->arm_breakpoint_size = sizeof (arm_linux_arm_le_breakpoint);