diff options
author | Will Schmidt <will_schmidt@vnet.ibm.com> | 2021-04-12 13:35:54 -0500 |
---|---|---|
committer | Will Schmidt <will_schmidt@vnet.ibm.com> | 2021-04-12 13:35:54 -0500 |
commit | e3d528d7e6a6b863d30aaecf74adf8c78286f84c (patch) | |
tree | ec7b64bf5893b1bad1aec556ae7754896a47cdc6 /binutils/binemul.h | |
parent | 82d9b2804751252a31342ab5a501ef6c96f4548a (diff) | |
download | gdb-e3d528d7e6a6b863d30aaecf74adf8c78286f84c.zip gdb-e3d528d7e6a6b863d30aaecf74adf8c78286f84c.tar.gz gdb-e3d528d7e6a6b863d30aaecf74adf8c78286f84c.tar.bz2 |
[PATCH, rs6000, v3][PR gdb/27525] displaced stepping across addpcis/lnia.
This addresses PR gdb/27525. The lnia and other variations
of the addpcis instruction write the value of the NIA into a target register.
If we are single-stepping across a breakpoint, the instruction is executed
from a displaced location, and thusly the written value of the PC/NIA
will be incorrect. The changes here will measure the displacement
offset, and adjust the target register value to compensate.
YYYY-MM-DD Will Schmidt <will_schmidt@vnet.ibm.com>
gdb/ChangeLog:
* rs6000-tdep.c (ppc_displaced_step_fixup): Update to handle
the addpcis/lnia instruction.
gdb/testsuite/ChangeLog:
* gdb.arch/powerpc-addpcis.exp: Testcase harness to
exercise single-stepping over subpcis,lnia,addpcis instructions
with displacement.
* gdb.arch/powerpc-addpcis.s: Testcase with stream
of addpcis/lnia/subpcis instructions.
* gdb.arch/powerpc-lnia.exp: Testcase harness to exercise
single-stepping over lnia instructions with displacement.
* gdb.arch/powerpc-lnia.s: Testcase with stream of
lnia instructions.
Diffstat (limited to 'binutils/binemul.h')
0 files changed, 0 insertions, 0 deletions