diff options
author | Andreas Arnez <arnez@linux.vnet.ibm.com> | 2017-03-20 17:30:01 +0100 |
---|---|---|
committer | Andreas Arnez <arnez@linux.vnet.ibm.com> | 2017-03-20 17:30:01 +0100 |
commit | dcb84eda0c5f25835251a311c4d6704e70cfa498 (patch) | |
tree | f8dd148d45ddfff7553e1d4f76239dc6374de641 /gas/doc | |
parent | 4ea0266c22eccf6e7719469a981267659e47ef3a (diff) | |
download | gdb-dcb84eda0c5f25835251a311c4d6704e70cfa498.zip gdb-dcb84eda0c5f25835251a311c4d6704e70cfa498.tar.gz gdb-dcb84eda0c5f25835251a311c4d6704e70cfa498.tar.bz2 |
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 'gas/doc')
0 files changed, 0 insertions, 0 deletions