diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2016-11-18 11:39:47 -0800 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2017-03-27 13:02:12 -0700 |
commit | f74f865e5030057deb8a6a56af4a9e003d82cdcd (patch) | |
tree | 08ff781da4df490835f53af4c23cabc80f4135ac /gdb/xtensa-linux-nat.c | |
parent | 0d0bf81a6729478563c3851ccfca435222ddfa25 (diff) | |
download | binutils-gdb-f74f865e5030057deb8a6a56af4a9e003d82cdcd.tar.gz |
gdb: xtensa-linux: support THREADPTR register
Make THREADPTR user register accessible.
gdb/
2017-03-27 Max Filippov <jcmvbkbc@gmail.com>
* xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
for THREADPTR register.
(supply_gregset_reg): Call regcache_raw_supply for THREADPTR
register.
* xtensa-tdep.c (XTENSA_DBREGN_UREG): New definition.
(xtensa_derive_tdep): Initialize tdep->threadptr_regnum.
* xtensa-tdep.h (gdbarch_tdep::threadptr_regnum): New field.
Diffstat (limited to 'gdb/xtensa-linux-nat.c')
-rw-r--r-- | gdb/xtensa-linux-nat.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c index a4b001e86b9..278168620c4 100644 --- a/gdb/xtensa-linux-nat.c +++ b/gdb/xtensa-linux-nat.c @@ -82,6 +82,10 @@ fill_gregset (const struct regcache *regcache, regcache_raw_collect (regcache, gdbarch_tdep (gdbarch)->sar_regnum, ®s->sar); + if (regnum == gdbarch_tdep (gdbarch)->threadptr_regnum || regnum == -1) + regcache_raw_collect (regcache, + gdbarch_tdep (gdbarch)->threadptr_regnum, + ®s->threadptr); if (regnum >=gdbarch_tdep (gdbarch)->ar_base && regnum < gdbarch_tdep (gdbarch)->ar_base + gdbarch_tdep (gdbarch)->num_aregs) @@ -148,6 +152,10 @@ supply_gregset_reg (struct regcache *regcache, regcache_raw_supply (regcache, gdbarch_tdep (gdbarch)->sar_regnum, ®s->sar); + if (regnum == gdbarch_tdep (gdbarch)->threadptr_regnum || regnum == -1) + regcache_raw_supply (regcache, + gdbarch_tdep (gdbarch)->threadptr_regnum, + ®s->threadptr); if (regnum >=gdbarch_tdep (gdbarch)->ar_base && regnum < gdbarch_tdep (gdbarch)->ar_base + gdbarch_tdep (gdbarch)->num_aregs) |