diff options
author | Andreas Arnez <arnez@linux.vnet.ibm.com> | 2014-07-16 16:50:49 +0000 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2014-08-07 17:31:50 +0200 |
commit | 8f1cee41f85e815d300cca3bf82e02a023dea43b (patch) | |
tree | 97c7b42cd896747f69b25cf98298b962b8454f19 /gdb/tilegx-linux-tdep.c | |
parent | c5741217d390041fc43ca83ad00b07355d40e9ad (diff) | |
download | binutils-gdb-8f1cee41f85e815d300cca3bf82e02a023dea43b.tar.gz |
TILEGX Linux: Fill 'collect_regset' in regset structure.
Diffstat (limited to 'gdb/tilegx-linux-tdep.c')
-rw-r--r-- | gdb/tilegx-linux-tdep.c | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/gdb/tilegx-linux-tdep.c b/gdb/tilegx-linux-tdep.c index 98b03dbcd84..184d00cf42c 100644 --- a/gdb/tilegx-linux-tdep.c +++ b/gdb/tilegx-linux-tdep.c @@ -73,34 +73,22 @@ static const struct tramp_frame tilegx_linux_rt_sigframe = tilegx_linux_sigframe_init }; -/* Supply raw registers from REGCACHE to REGS. */ +/* Register map; must match struct pt_regs in "ptrace.h". */ -static void -tilegx_linux_supply_regset (const struct regset *regset, - struct regcache *regcache, - int regnum, const void *regs, size_t len) -{ - struct gdbarch *arch = get_regcache_arch (regcache); - const char *ptr = regs; - int i; - - /* This logic must match that of struct pt_regs in "ptrace.h". */ - for (i = 0; i < TILEGX_NUM_EASY_REGS + 2; i++, ptr += tilegx_reg_size) - { - int gri = (i < TILEGX_NUM_EASY_REGS) - ? i : (i == TILEGX_NUM_EASY_REGS) - ? TILEGX_PC_REGNUM : TILEGX_FAULTNUM_REGNUM; - - if (regnum == gri || regnum == -1) - regcache_raw_supply (regcache, gri, ptr); - } -} +static const struct regcache_map_entry tilegx_linux_regmap[] = + { + { TILEGX_NUM_EASY_REGS, TILEGX_FIRST_EASY_REGNUM, 8 }, + { 1, TILEGX_PC_REGNUM, 8 }, + { 1, TILEGX_FAULTNUM_REGNUM, 8 }, + { 0 } + }; /* TILE-Gx Linux kernel register set. */ + static const struct regset tilegx_linux_regset = { - NULL, - tilegx_linux_supply_regset + tilegx_linux_regmap, + regcache_supply_regset, regcache_collect_regset }; static const struct regset * |