diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-05-16 15:31:12 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-05-16 15:31:12 +0000 |
commit | 190dce0965f152d147a0a57a65719c004bbe4648 (patch) | |
tree | 2b8dba5f5e16bedf398823e0a3f6a790cdd5fa2d /gdb/arm-tdep.c | |
parent | bb63802a4f72c2aa632a3118d307a1b8ec934c9a (diff) | |
download | gdb-190dce0965f152d147a0a57a65719c004bbe4648.zip gdb-190dce0965f152d147a0a57a65719c004bbe4648.tar.gz gdb-190dce0965f152d147a0a57a65719c004bbe4648.tar.bz2 |
* config/arm/embed.mt (DEPRECATED_TM_FILE): Set to tm-arm.h.
* config/arm/tm-embed.h: Delete file.
* arm-tdep.h (arm_software_single_step): Declare.
* arm-tdep.c (arm_software_single_step): Make global.
(arm_gdbarch_init): Move set_gdbarch_software_single_step call
from here to ...
* arm-linux-tdep.c (arm_linux_init_abi): ... here ...
* armnbsd-tdep.c (arm_netbsd_init_abi_common): ... here ...
* armobsd-tdep.c (armobsd_init_abi): ... here ...
* arm-wince-tdep.c (arm_wince_init_abi): ... and here.
* arm-tdep.c (ARM_LE_BREAKPOINT, ARM_BE_BREAKPOINT): No longer
allow defines to be overriden by TM file.
(THUMB_LE_BREAKPOINT, THUMB_BE_BREAKPOINT): Likewise. Also,
change default to {0xbe,0xbe}.
* armobsd-tdep.c (arm_obsd_thumb_le_breakpoint,
arm_obsd_thumb_be_breakpoint): New global variables.
(armobsd_init_abi): Override tdep->thumb_breakpoint and
tdep->thumb_breakpoint_size.
* arm-wince-tdep.c (arm_wince_thumb_le_breakpoint): New variable.
(arm_wince_init_abi): Override tdep->thumb_breakpoint and
tdep->thumb_breakpoint_size.
* arm-tdep.c (arm_gdbarch_init): Add set_gdbarch_skip_trampoline_code.
Diffstat (limited to 'gdb/arm-tdep.c')
-rw-r--r-- | gdb/arm-tdep.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index 8a3a1f9..2cfb5c0 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -1904,7 +1904,7 @@ arm_get_next_pc (CORE_ADDR pc) single-step support. We find the target of the coming instruction and breakpoint it. */ -static int +int arm_software_single_step (struct regcache *regcache) { /* NOTE: This may insert the wrong breakpoint instruction when @@ -1989,21 +1989,10 @@ gdb_print_insn_arm (bfd_vma memaddr, disassemble_info *info) instruction to force a trap. This can be handled by by the abi-specific code during establishment of the gdbarch vector. */ - -/* NOTE rearnsha 2002-02-18: for now we allow a non-multi-arch gdb to - override these definitions. */ -#ifndef ARM_LE_BREAKPOINT #define ARM_LE_BREAKPOINT {0xFE,0xDE,0xFF,0xE7} -#endif -#ifndef ARM_BE_BREAKPOINT #define ARM_BE_BREAKPOINT {0xE7,0xFF,0xDE,0xFE} -#endif -#ifndef THUMB_LE_BREAKPOINT -#define THUMB_LE_BREAKPOINT {0xfe,0xdf} -#endif -#ifndef THUMB_BE_BREAKPOINT -#define THUMB_BE_BREAKPOINT {0xdf,0xfe} -#endif +#define THUMB_LE_BREAKPOINT {0xbe,0xbe} +#define THUMB_BE_BREAKPOINT {0xbe,0xbe} static const char arm_default_arm_le_breakpoint[] = ARM_LE_BREAKPOINT; static const char arm_default_arm_be_breakpoint[] = ARM_BE_BREAKPOINT; @@ -2939,6 +2928,9 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) /* Advance PC across function entry code. */ set_gdbarch_skip_prologue (gdbarch, arm_skip_prologue); + /* Skip trampolines. */ + set_gdbarch_skip_trampoline_code (gdbarch, arm_skip_stub); + /* The stack grows downward. */ set_gdbarch_inner_than (gdbarch, core_addr_lessthan); @@ -2969,10 +2961,6 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) /* Returning results. */ set_gdbarch_return_value (gdbarch, arm_return_value); - /* Single stepping. */ - /* XXX For an RDI target we should ask the target if it can single-step. */ - set_gdbarch_software_single_step (gdbarch, arm_software_single_step); - /* Disassembly. */ set_gdbarch_print_insn (gdbarch, gdb_print_insn_arm); |