diff options
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2017-11-26 17:15:25 +0100 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2017-11-26 17:15:25 +0100 |
commit | 5ffd2cb722440053267d0db52df8bbd278fd6d91 (patch) | |
tree | 9c454e42df82741610fa165ac0e4e9f701aa9de6 /gdb/ChangeLog | |
parent | e5a8dd426de76af279cb6eff0c761ec866e97dc8 (diff) | |
download | gdb-5ffd2cb722440053267d0db52df8bbd278fd6d91.zip gdb-5ffd2cb722440053267d0db52df8bbd278fd6d91.tar.gz gdb-5ffd2cb722440053267d0db52df8bbd278fd6d91.tar.bz2 |
[spu] Fix single-stepping regression
Switching spu_software_single_step to use a regcache instead of a frame:
https://sourceware.org/ml/gdb-patches/2016-11/msg00355.html
cause a serious regression to SPU single-stepping.
There were two separate problems:
- SPU_LSLR_REGNUM is a pseudo register, so we must use the "cooked"
regcache methods instead of the "raw" ones to access it.
- When accessing a branch target register, we must only use the first
four bytes of the 16-byte vector register. This was done automatically
by the frame routines, but not by the regcache routines.
gdb/ChangeLog:
2017-11-26 Ulrich Weigand <uweigand@de.ibm.com>
* spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as
"cooked" register. Access only first four bytes of branch target
registers.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 613a5ae..6223f0d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2017-11-26 Ulrich Weigand <uweigand@de.ibm.com> + + * spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as + "cooked" register. Access only first four bytes of branch target + registers. + 2017-11-25 Sergio Durigan Junior <sergiodj@redhat.com> PR gdb/22491 |