Browse Source

ppc: use "trap" ("tw, 31, 0, 0") as breakpoint instruction

Power ISA 3.0 B spec [1], sections 3.3.11 "Fixed-Point Trap Instructions"
and section C.6 "Trap Mnemonics" specify "tw, 31, 0, 0" (encoded as
0x7fe00008) as canonical unconditional trap instruction.

This commit changes the breakpoint instruction used by GDB from
"tw 12, r2, r2" to unconditional "trap".

[1]: https://openpowerfoundation.org/?resource_lib=power-isa-version-3-0
binutils-2_38-branch
Jan Vrany 5 years ago
parent
commit
44f3c3c212
  1. 4
      gdb/rs6000-tdep.c

4
gdb/rs6000-tdep.c

@ -824,8 +824,8 @@ rs6000_fetch_pointer_argument (struct frame_info *frame, int argi,
/* Sequence of bytes for breakpoint instruction. */
constexpr gdb_byte big_breakpoint[] = { 0x7d, 0x82, 0x10, 0x08 };
constexpr gdb_byte little_breakpoint[] = { 0x08, 0x10, 0x82, 0x7d };
constexpr gdb_byte big_breakpoint[] = { 0x7f, 0xe0, 0x00, 0x08 };
constexpr gdb_byte little_breakpoint[] = { 0x08, 0x00, 0xe0, 0x7f };
typedef BP_MANIPULATION_ENDIAN (little_breakpoint, big_breakpoint)
rs6000_breakpoint;

Loading…
Cancel
Save