qemu-e2k/linux-user
Peter Maydell 4ce6243dc6 linux-user: Clean up handling of clone() argument order
Linux manages to have three separate orderings of the arguments to
the clone() syscall on different architectures. In the kernel these
are selected via CONFIG_CLONE_BACKWARDS and CONFIG_CLONE_BACKWARDS2.
Clean up our implementation of this to use similar #define names
rather than a TARGET_* ifdef ladder.

This includes behaviour changes fixing bugs on cris, x86-64, m68k,
openrisc and unicore32.  cris had explicit but wrong handling; the
others were just incorrectly using QEMU's default, which happened
to be the equivalent of CONFIG_CLONE_BACKWARDS. (unicore32 appears
to be broken in the mainline kernel in that it tries to use arg3 for
both parent_tidptr and newtls simultaneously -- we don't attempt
to emulate this bug...)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2013-07-22 21:54:36 +03:00
..
alpha linux-user: Move cpu_clone_regs() and cpu_set_tls() into linux-user 2013-07-09 21:20:28 +02:00
arm linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
cris linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
i386 linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
m68k linux-user: Enable NPTL for m68k 2013-07-22 21:54:20 +03:00
microblaze linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
mips linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
mips64 linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
openrisc linux-user: Enable NPTL for OpenRISC 2013-07-22 21:54:12 +03:00
ppc linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
s390x linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
sh4 linux-user: Move cpu_clone_regs() and cpu_set_tls() into linux-user 2013-07-09 21:20:28 +02:00
sparc linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
sparc64 linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
unicore32 linux-user: Move cpu_clone_regs() and cpu_set_tls() into linux-user 2013-07-09 21:20:28 +02:00
x86_64 linux-user: Move cpu_clone_regs() and cpu_set_tls() into linux-user 2013-07-09 21:20:28 +02:00
cpu-uname.c
cpu-uname.h
elfload.c linux-user: Change thread_env to CPUState 2013-07-09 21:33:01 +02:00
errno_defs.h
flat.h
flatload.c
ioctls.h linux-user: add SIOCADDRT/SIOCDELRT support 2013-07-05 15:45:40 +03:00
linux_loop.h
linuxload.c linux-user: Change thread_env to CPUState 2013-07-09 21:33:01 +02:00
m68k-sim.c
main.c linux-user: declare sys_futex to have 6 arguments 2013-07-19 12:52:03 +04:00
Makefile.objs
mmap.c linux-user: Do not ignore mmap failure from host 2013-07-05 15:45:40 +03:00
qemu.h linux-user: Enable NPTL for m68k 2013-07-22 21:54:20 +03:00
signal.c QOM CPUState refactorings 2013-07-10 10:54:16 -05:00
socket.h linux-user: improve target_to_host_sock_type conversion 2013-07-05 15:45:40 +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
syscall_defs.h alpha-linux-user: Translate fcntl l_type 2013-01-16 08:13:17 -08:00
syscall_types.h
syscall.c linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
target_flat.h
uaccess.c
vm86.c