S390: Recognize special jumps in prologue parser
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Wed, 9 Mar 2016 16:12:29 +0000 (17:12 +0100)
committerAndreas Arnez <arnez@linux.vnet.ibm.com>
Wed, 9 Mar 2016 16:12:29 +0000 (17:12 +0100)
commitbc0e3f49c84055034cae31bba169100d107b28f4
treef5ac7171dfc3d9b3a5012ee595f3824a37bd063e
parent6d53bec88f4c1576f74e918400aa2ccac2d129db
S390: Recognize special jumps in prologue parser

Functions compiled with the gcc option `-mhotpatch' may start with a
branch-never BRCL instruction as a 6-byte NOP.  And functions compiled
with `-mstack-size' contain a BRC instruction in their prologue that is
actually a conditional trap.  Both of these special jumps cause the
prologue parser to stop and yield bad unwinding results.

This change makes the prologue analyzer recognize such special jumps and
ignore them.

gdb/ChangeLog:

* s390-linux-tdep.c (s390_analyze_prologue): Ignore BRC and BRCL
instructions that do nothing or are conditional traps.
gdb/ChangeLog
gdb/s390-linux-tdep.c