xqemu/linux-user
Alexander Graf 5379557b8d linux-user: fix wait* syscall status returns
When calling wait4 or waitpid with a status pointer and WNOHANG, the
syscall can potentially not modify the status pointer input. Now if we
have guest code like:

  int status = 0;
  waitpid(pid, &status, WNOHANG);
  if (status)
     <breakage>

then we have to make sure that in case status did not change we actually
return the guest's initialized status variable instead of our own uninitialized.
We fail to do so today, as we proxy everything through an uninitialized status
variable which for me ended up always containing the last error code.

This patch fixes some test cases when building yast2-core in OBS for ARM.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2012-02-02 17:51:20 +02:00
..
alpha linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
arm linux-user/arm/nwfpe/fpopcode.h: Fix non-UTF-8 characters 2011-12-06 10:05:01 +00:00
cris linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
i386 linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
m68k linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
microblaze linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
mips linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
mips64 linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
mipsn32 linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
ppc linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
s390x linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
sh4 linux-user: correct syscall 123 on sh4 2011-07-13 17:11:37 +03:00
sparc sparc-linux-user: Add some missing syscall numbers 2011-10-27 14:43:10 +03:00
sparc64 linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
unicore32 unicore32: add necessry headers in linux-user/unicore32 for unicore32 support 2011-04-12 18:48:43 +00:00
x86_64 Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
cpu-uname.c linux-user/cpu-uname.c: Convert to UTF-8 2011-12-06 10:04:36 +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: save auxv length 2012-02-02 17:51:19 +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 fix spelling in linux-user sub directory 2011-12-02 10:50:56 +00:00
ioctls.h linux-user: Add support for even more FB ioctls 2011-07-11 16:12:18 +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/elfload.c: Don't memset(NULL..) if malloc() failed 2011-11-11 12:49:53 -06:00
m68k-sim.c linux-user: Fix typo m86k -> m68k 2010-10-05 13:53:56 -05:00
main.c linux-user/main.c: Add option to user-mode emulation so that user can specify log file name 2012-02-02 17:51:20 +02:00
mmap.c Fix typo in comment (truely -> truly) 2011-05-08 10:02:18 +01:00
qemu-types.h linux-user: fix abi_(u)long, target_ulong mismatch 2011-10-27 14:42:16 +03:00
qemu.h linux-user: save auxv length 2012-02-02 17:51:19 +02:00
signal.c fix spelling in linux-user sub directory 2011-12-02 10:50:56 +00:00
socket.h Various linux-user structures and definitions fixes for PowerPC targets. 2007-12-10 08:24:59 +00:00
strace.c linux-user/strace.c: Correct errno printing for mmap etc 2012-02-02 17:51:20 +02:00
strace.list linux-user: improve traces 2011-04-26 10:15:40 +03:00
syscall.c linux-user: fix wait* syscall status returns 2012-02-02 17:51:20 +02:00
syscall_defs.h linux-user: add SO_PEERCRED support for getsockopt 2012-02-02 17:51:20 +02:00
syscall_types.h linux-user: Add support for even more FB ioctls 2011-07-11 16:12:18 +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
vm86.c linux-user: fix abi_(u)long, target_ulong mismatch 2011-10-27 14:42:16 +03:00