qemu-e2k/linux-user
Jose Ricardo Ziviani 26920a2961 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>
2017-02-16 15:29:30 +01:00
..
aarch64 linux-user: AArch64 has sync_file_range, not sync_file_range2 2016-07-19 16:18:11 +03:00
alpha linux-user: Handle ERFKILL and EHWPOISON 2017-01-22 18:14:10 -08:00
arm linux-user: fix TARGET_NR_select 2016-09-22 07:24:21 +03:00
cris linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
host linux-user: Fix s390x safe-syscall for z900 2017-02-14 17:18:03 +01:00
hppa linux-user: define correct UTS machine name for hppa 2017-02-06 18:24:40 -08:00
i386 linux-user: fix TARGET_NR_select 2016-09-22 07:24:21 +03:00
m68k linux-user: Update m68k syscall definitions to match Linux 4.6 2017-02-16 15:29:26 +01:00
microblaze linux-user: fix TARGET_NR_select 2016-09-22 07:24:21 +03:00
mips linux-user: Handle ERFKILL and EHWPOISON 2017-01-22 18:14:10 -08:00
mips64 linux-user: Handle ERFKILL and EHWPOISON 2017-01-22 18:14:10 -08:00
nios2 nios2: Add usermode binaries emulation 2017-01-24 13:10:35 -08:00
openrisc linux-user: Honor CLONE_SETTLS for openrisc 2017-02-14 08:14:59 +11:00
ppc ppc: Fix signal delivery in ppc-user and ppc64-user 2016-09-23 10:29:40 +10:00
s390x linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
sh4 linux-user: Update sh4 syscall definitions to match Linux 4.8 2017-02-16 15:29:16 +01:00
sparc linux-user: Use correct target SHMLBA in shmat() 2016-09-21 14:28:52 +03:00
sparc64 linux-user: sparc64: Use correct target SHMLBA in shmat() 2016-10-21 15:19:40 +03:00
tilegx linux-user: fix TARGET_NR_select 2016-09-22 07:24:21 +03:00
unicore32 linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
x86_64 linux-user: Fix target_semid_ds structure definition 2016-08-04 16:36:53 +03:00
Makefile.objs linux-user: Provide safe_syscall for fixing races between signals and syscalls 2016-05-27 14:49:51 +03:00
elfload.c target/openrisc: Keep SR_F in a separate variable 2017-02-14 08:14:59 +11:00
errno_defs.h linux-user: Handle ERFKILL and EHWPOISON 2017-01-22 18:14:10 -08:00
flat.h Support for 32 bit ABI on 64 bit targets (only enabled Sparc64) 2007-10-14 16:27:31 +00:00
flatload.c linux-user: Fix error handling in flatload.c target_pread() 2016-09-21 14:27:19 +03:00
ioctls.h linux-user: Add SIOCGPGRP, SIOCGSTAMP, SIOCGSTAMPNS 2017-01-22 18:14:10 -08:00
linux_loop.h linux-user: Add loop control ioctls 2016-07-19 15:22:33 +03:00
linuxload.c linux-user: Clean up includes 2016-01-29 15:07:22 +00:00
m68k-sim.c linux-user: Clean up includes 2016-01-29 15:07:22 +00:00
main.c target/openrisc: Keep SR_F in a separate variable 2017-02-14 08:14:59 +11:00
mmap.c linux-user: fix tcg/mmap test 2017-02-16 15:29:30 +01:00
qemu.h linux-user: Support stack-grows-up in elfload.c 2017-01-22 18:14:10 -08:00
safe-syscall.S linux-user: Provide safe_syscall for fixing races between signals and syscalls 2016-05-27 14:49:51 +03:00
signal.c linux-user: fill target sigcontext struct accordingly 2017-02-16 15:29:30 +01:00
socket.h linux-user: Add HPPA socket.h definitions 2017-01-23 09:52:39 -08:00
strace.c linux-user: remove ifdef __USER_MISC 2017-02-14 17:18:03 +01:00
strace.list linux-user: Add support for syncfs() syscall 2016-10-21 15:20:13 +03:00
syscall.c linux-user: fix settime old value location 2017-02-16 15:29:30 +01:00
syscall_defs.h nios2: Add usermode binaries emulation 2017-01-24 13:10:35 -08:00
syscall_types.h linux-user: Add SIOCGPGRP, SIOCGSTAMP, SIOCGSTAMPNS 2017-01-22 18:14:10 -08:00
target_flat.h linux-user/FLAT: allow targets to override FLAT processing 2011-02-09 10:33:54 +02:00
trace-events trace-events: fix first line comment in trace-events 2016-08-12 10:36:01 +01:00
uaccess.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
uname.c linux-user: Clean up includes 2016-01-29 15:07:22 +00:00
uname.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
vm86.c linux-user: Clean up includes 2016-01-29 15:07:22 +00:00