aboutsummaryrefslogtreecommitdiff
path: root/gdb/rs6000-tdep.c
diff options
context:
space:
mode:
authorJan Vrany <jan.vrany@labware.com>2021-12-08 10:46:49 +0000
committerJan Vrany <jan.vrany@labware.com>2021-12-08 10:46:49 +0000
commit44f3c3c212f9b568a6b3cff0444b6750e3d8680f (patch)
tree6f795ccfca317b5e990a5298bffc9c449daceed8 /gdb/rs6000-tdep.c
parenta619b58721f0a03fd91c27670d3e4c2fb0d88f1e (diff)
downloadfsf-binutils-gdb-44f3c3c212f9b568a6b3cff0444b6750e3d8680f.zip
fsf-binutils-gdb-44f3c3c212f9b568a6b3cff0444b6750e3d8680f.tar.gz
fsf-binutils-gdb-44f3c3c212f9b568a6b3cff0444b6750e3d8680f.tar.bz2
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
Diffstat (limited to 'gdb/rs6000-tdep.c')
-rw-r--r--gdb/rs6000-tdep.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 87a494e..43880fa 100644
--- a/gdb/rs6000-tdep.c
+++ b/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;