qemu/linux-user
Peter Maydell c065976f2b linux-user: Fix conversion of sigevent argument to timer_create
There were a number of bugs in the conversion of the sigevent
argument to timer_create from target to host format:
 * signal number not converted from target to host
 * thread ID not copied across
 * sigev_value not copied across
 * we never unlocked the struct when we were done

Between them, these problems meant that SIGEV_THREAD_ID
timers (and the glibc-implemented SIGEV_THREAD timers which
depend on them) didn't work.

Fix these problems and clean up the code a little by pulling
the struct conversion out into its own function, in line with
how we convert various other structs. This allows the test
program in bug LP:1042388 to run.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2014-08-22 15:06:33 +03:00
..
aarch64 linux-user: AArch64: define TARGET_CLONE_BACKWARDS 2014-01-08 19:07:20 +00:00
alpha linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
arm Add support for the arm breakpoint syscall 2014-06-24 20:01:24 +04:00
cris linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
i386 linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
m68k cpu: Move opaque field from CPU_COMMON to CPUState 2014-03-13 19:20:47 +01:00
microblaze linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
mips target-mips: implement UserLocal Register 2014-06-18 18:10:47 +02:00
mips64 linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
openrisc linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
ppc target-ppc: Support little-endian PPC64 in user mode. 2014-06-16 13:24:40 +02:00
s390x linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
sh4 linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
sparc linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
sparc64 linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
unicore32 linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
x86_64 linux-user: set minimum kernel version to 2.6.32 2014-03-10 13:55:00 +02:00
elfload.c linux-user: Support HWCAP2 in PowerPC 2014-06-27 13:48:22 +02:00
errno_defs.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00: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: Remove regs parameter of load_elf_binary and load_flt_binary 2014-01-10 08:51:37 +02:00
ioctls.h SIOCGIFINDEX: fix typo 2014-07-15 16:26:31 +03:00
linux_loop.h Fix build failure with old kernel headers (loop.h is incompatible with 2008-05-23 16:06:43 +00:00
linuxload.c cpu: Move opaque field from CPU_COMMON to CPUState 2014-03-13 19:20:47 +01:00
m68k-sim.c exec: Change cpu_abort() argument to CPUState 2014-03-13 19:52:28 +01:00
main.c linux-user: Fix syscall instruction usermode emulation on X86_64 2014-08-22 15:06:33 +03:00
Makefile.objs linux-user: rename cpu-uname -> uname 2014-05-02 21:59:36 +03:00
mmap.c configure: Make NPTL non-optional 2013-07-22 21:54:52 +03:00
qemu.h linux-user: fix gcc-4.9 compiler error on __{get,put]}_user 2014-06-17 08:52:08 +03:00
signal.c linux-user: use TARGET_SA_ONSTACK in get_sigframe 2014-07-15 17:08:41 +03:00
socket.h linux-user: support SO_PASSSEC setsockopt option 2014-06-29 14:19:59 +03:00
strace.c linux-user: Don't omit comma for strace of rt_sigaction() 2013-04-05 14:40:54 +02:00
strace.list linux-user: support strace of epoll_create1 2014-06-29 14:19:59 +03:00
syscall_defs.h linux-user: handle AF_PACKET sockaddrs in target_to_host_sockaddr 2014-07-15 16:28:25 +03:00
syscall_types.h linux-user: Implement BLKPG ioctl 2014-02-19 12:29:23 +02:00
syscall.c linux-user: Fix conversion of sigevent argument to timer_create 2014-08-22 15:06:33 +03:00
target_flat.h linux-user/FLAT: allow targets to override FLAT processing 2011-02-09 10:33:54 +02:00
uaccess.c Fix missing strnlen problems 2009-07-01 18:24:44 +00:00
uname.c linux-user/uname: Return correct uname string for x86_64 2014-06-17 09:21:40 +03:00
uname.h linux-user: move uname functions to uname.c 2014-05-02 21:59:36 +03:00
vm86.c cpu: Move opaque field from CPU_COMMON to CPUState 2014-03-13 19:20:47 +01:00