From a7ba737e6276bf6b546eb721cca66d14d2bd4c29 Mon Sep 17 00:00:00 2001 From: walt Date: Tue, 19 Feb 2013 16:19:30 +0000 Subject: * tilegx-tdep.c (INT_SWINT_1_SIGRETURN): New macro. (tilegx_write_pc): New function. (tilegx_cannot_reference_register): Return zero if REGNO is TILEGX_FAULTNUM_REGNUM. (tilegx_gdbarch_init): Add call to set_gdbarch_write_pc. (tilegx_register_name): Add handling of "faultnum" register. * tilegx-tdep.h (enum tilegx_regnum): Add TILEGX_FAULTNUM_REGNUM. * tilegx-linux-tdep.c (tilegx_linux_supply_regset): Add handling of TILEGX_FAULTNUM_REGNUM. * tilegx-linux-nat.c (regmap): Add entry for TILEGX_FAULTNUM_REGNUM. --- gdb/tilegx-linux-tdep.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gdb/tilegx-linux-tdep.c') diff --git a/gdb/tilegx-linux-tdep.c b/gdb/tilegx-linux-tdep.c index 1067d3728be..abcc9435f9f 100644 --- a/gdb/tilegx-linux-tdep.c +++ b/gdb/tilegx-linux-tdep.c @@ -85,9 +85,11 @@ tilegx_linux_supply_regset (const struct regset *regset, int i; /* This logic must match that of struct pt_regs in "ptrace.h". */ - for (i = 0; i < TILEGX_NUM_EASY_REGS + 1; i++, ptr += tilegx_reg_size) + for (i = 0; i < TILEGX_NUM_EASY_REGS + 2; i++, ptr += tilegx_reg_size) { - int gri = (i < TILEGX_NUM_EASY_REGS) ? i : TILEGX_PC_REGNUM; + 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); -- cgit v1.2.1