Revert to using "trap 31" for breakpoints on nios2.
2015-05-08 Sandra Loosemore <sandra@codesourcery.com> gdb/ * nios2-tdep.c (nios2_breakpoint_from_pc): Revert to using "trap 31" as the breakpoint instruction on all targets.
This commit is contained in:
parent
f7797074a5
commit
b73c49b7f6
|
@ -1,3 +1,8 @@
|
|||
2015-05-08 Sandra Loosemore <sandra@codesourcery.com>
|
||||
|
||||
* nios2-tdep.c (nios2_breakpoint_from_pc): Revert to using
|
||||
"trap 31" as the breakpoint instruction on all targets.
|
||||
|
||||
2015-05-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* infcmd.c (print_return_value): Remove unused declaration.
|
||||
|
|
|
@ -1189,7 +1189,15 @@ nios2_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
|
|||
return nios2_analyze_prologue (gdbarch, start_pc, start_pc, &cache, NULL);
|
||||
}
|
||||
|
||||
/* Implement the breakpoint_from_pc gdbarch hook. */
|
||||
/* Implement the breakpoint_from_pc gdbarch hook.
|
||||
|
||||
The Nios II ABI for Linux says: "Userspace programs should not use
|
||||
the break instruction and userspace debuggers should not insert
|
||||
one." and "Userspace breakpoints are accomplished using the trap
|
||||
instruction with immediate operand 31 (all ones)."
|
||||
|
||||
So, we use "trap 31" consistently as the breakpoint on bare-metal
|
||||
as well as Linux targets. */
|
||||
|
||||
static const gdb_byte*
|
||||
nios2_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *bp_addr,
|
||||
|
@ -1198,11 +1206,11 @@ nios2_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *bp_addr,
|
|||
enum bfd_endian byte_order_for_code = gdbarch_byte_order_for_code (gdbarch);
|
||||
unsigned long mach = gdbarch_bfd_arch_info (gdbarch)->mach;
|
||||
|
||||
/* R1 break encoding:
|
||||
((0x1e << 17) | (0x34 << 11) | (0x1f << 6) | (0x3a << 0))
|
||||
0x003da7fa */
|
||||
static const gdb_byte r1_breakpoint_le[] = {0xfa, 0xa7, 0x3d, 0x0};
|
||||
static const gdb_byte r1_breakpoint_be[] = {0x0, 0x3d, 0xa7, 0xfa};
|
||||
/* R1 trap encoding:
|
||||
((0x1d << 17) | (0x2d << 11) | (0x1f << 6) | (0x3a << 0))
|
||||
0x003b6ffa */
|
||||
static const gdb_byte r1_breakpoint_le[] = {0xfa, 0x6f, 0x3b, 0x0};
|
||||
static const gdb_byte r1_breakpoint_be[] = {0x0, 0x3b, 0x6f, 0xfa};
|
||||
*bp_size = NIOS2_OPCODE_SIZE;
|
||||
if (byte_order_for_code == BFD_ENDIAN_BIG)
|
||||
return r1_breakpoint_be;
|
||||
|
|
Loading…
Reference in New Issue