From 0c03ba328b577dbdcd8802ad896145b502884df5 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 3 May 2010 10:07:53 -0700 Subject: [PATCH] alpha-linux-user: Fix getxpid. Put ppid in the second return register. Signed-off-by: Richard Henderson Signed-off-by: Aurelien Jarno --- linux-user/syscall.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 1a5e381..e9e61c8 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -4497,13 +4497,18 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, case TARGET_NR_lseek: ret = get_errno(lseek(arg1, arg2, arg3)); break; -#ifdef TARGET_NR_getxpid +#if defined(TARGET_NR_getxpid) && defined(TARGET_ALPHA) + /* Alpha specific */ case TARGET_NR_getxpid: -#else - case TARGET_NR_getpid: + ((CPUAlphaState *)cpu_env)->ir[IR_A4] = getppid(); + ret = get_errno(getpid()); + break; #endif +#ifdef TARGET_NR_getpid + case TARGET_NR_getpid: ret = get_errno(getpid()); break; +#endif case TARGET_NR_mount: { /* need to look at the data field */ -- 2.7.4