qemu-patch-raspberry4/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 target-arm: Remove ARM_CPUID_* macros 2012-06-20 12:13:28 +00:00
cpu-uname.h linux-user: adapt uname machine to emulated CPU 2010-02-06 17:19:43 +01:00
elfload.c linux-user: Change thread_env to CPUState 2013-07-09 21:33:01 +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 flatload: fix bss clearing 2012-08-14 20:26:55 +01:00
ioctls.h linux-user: add SIOCADDRT/SIOCDELRT support 2013-07-05 15:45:40 +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 linux-user: Change thread_env to CPUState 2013-07-09 21:33:01 +02:00
m68k-sim.c linux-user: Fix typo m86k -> m68k 2010-10-05 13:53:56 -05:00
main.c linux-user: declare sys_futex to have 6 arguments 2013-07-19 12:52:03 +04:00
Makefile.objs build: move *-user/ objects to nested Makefile.objs 2012-06-07 07:17:33 +02:00
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 linux-user: Merge pread/pwrite into pread64/pwrite64 2012-12-08 18:49:30 +00:00
syscall.c linux-user: Clean up handling of clone() argument order 2013-07-22 21:54:36 +03:00
syscall_defs.h alpha-linux-user: Translate fcntl l_type 2013-01-16 08:13:17 -08:00
syscall_types.h linux-user: Fix SNDCTL_DSP_MAP{IN, OUT}BUF ioctl definitions 2012-08-13 12:45:46 +01: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
vm86.c linux-user: fix abi_(u)long, target_ulong mismatch 2011-10-27 14:42:16 +03:00