This is the mail archive of the gdb-testers@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] s390: Fix displaced-stepping certain relative branch insns


*** TEST RESULTS FOR COMMIT dcb84eda0c5f25835251a311c4d6704e70cfa498 ***

Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Branch: master
Commit: dcb84eda0c5f25835251a311c4d6704e70cfa498

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]