summaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
diff options
context:
space:
mode:
authorAndreas Arnez <arnez@linux.vnet.ibm.com>2017-03-20 17:30:01 +0100
committerAndreas Arnez <arnez@linux.vnet.ibm.com>2017-03-20 17:30:01 +0100
commitdcb84eda0c5f25835251a311c4d6704e70cfa498 (patch)
treef8dd148d45ddfff7553e1d4f76239dc6374de641 /gdb/ChangeLog
parent4ea0266c22eccf6e7719469a981267659e47ef3a (diff)
downloadbinutils-gdb-dcb84eda0c5f25835251a311c4d6704e70cfa498.tar.gz
s390: Fix displaced-stepping certain relative branch insns
On s390x targets GDB can not handle displaced stepping correctly for some relative branch instructions, such as cij (compare immediate and branch relative). When setting a breakpoint on such an instruction and single-stepping over it, the branch is never taken. This is because the check in s390_displaced_step_fixup for relative branch instructions is incomplete. Instead of completing the list of relative branch instructions to check against, this patch just treats relative branches and non-branching instructions in the same way and adjusts the PC with the negated displacement in both cases. gdb/ChangeLog: * s390-linux-tdep.c (is_rsi, is_rie): Remove functions. (s390_displaced_step_fixup): Cover relative branches with the default fixup handling. This fixes lack of support for some relative branch instructions.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r--gdb/ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 90613479671..2cff1187739 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2017-03-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
+ (s390_displaced_step_fixup): Cover relative branches with the
+ default fixup handling. This fixes lack of support for some
+ relative branch instructions.
+
2017-03-17 Simon Marchi <simon.marchi@polymtl.ca>
* i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use