Fix for prologue processing on PowerPC
authorNikola Prica <nikola.prica@rt-rk.com>
Wed, 31 Jan 2018 18:23:00 +0000 (19:23 +0100)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Wed, 31 Jan 2018 18:24:05 +0000 (19:24 +0100)
commit07e5f5cf883c64f7bd8a2afa4302c0479670b03f
tree3b59a87618ed85c6e52bbfab2affa269ef144dc0
parent450b6317357b67dfcd0ab951a83432d3fc2a65bc
Fix for prologue processing on PowerPC

One of conditions in skip_prologue() was never visited if there was mflr
instruction that moves the link register to a register different than r0.
This condition expects non shifted value of `lr_reg`. Previously offset
of link register was never saved for registers different than r0.

gdb/ChangeLog:

2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>

* rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
assign shifted lr_reg to fdata->lr_register when lr_reg is set.

gdb/testsuite/ChangeLog:

2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>

* gdb.arch/powerpc-prologue-frame.s: New file.
* gdb.arch/powerpc-prologue-frame.c: Likewise.
* gdb.arch/powerpc-prologue-frame.exp: Likewise.
gdb/ChangeLog
gdb/rs6000-tdep.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.arch/powerpc-prologue-frame.S [new file with mode: 0644]
gdb/testsuite/gdb.arch/powerpc-prologue-frame.c [new file with mode: 0644]
gdb/testsuite/gdb.arch/powerpc-prologue-frame.exp [new file with mode: 0644]