linux-user: fill target sigcontext struct accordingly
commit26920a2961f7cc86bfbdb2184c0ec261d5629c2f
authorJose Ricardo Ziviani <joserz@linux.vnet.ibm.com>
Tue, 31 Jan 2017 22:05:17 +0000 (31 20:05 -0200)
committerLaurent Vivier <laurent@vivier.eu>
Thu, 16 Feb 2017 14:29:30 +0000 (16 15:29 +0100)
tree2ada2985c606d7b19b0b6cca105d2e5a951a0832
parent35f2fd04ce8bd3eaad4b7790abb19fa2a56d7314
linux-user: fill target sigcontext struct accordingly

A segfault is noticed when an emulated program uses any of ucontext
regs fields. Risu detected this issue in the following operation when
handling a signal:
  ucontext_t *uc = (ucontext_t*)uc;
  uc->uc_mcontext.regs->nip += 4;

but this works fine:
  uc->uc_mcontext.gp_regs[PT_NIP] += 4;

This patch set regs to a valid location as well as other sigcontext
fields.

Signed-off-by: Jose Ricardo Ziviani <joserz@linux.vnet.ibm.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <1485900317-3256-1-git-send-email-joserz@linux.vnet.ibm.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
linux-user/signal.c