@@ -8131,6 +8131,13 @@ IMPL(futimesat)
}
#endif
+#ifdef TARGET_NR_getpgrp
+IMPL(getpgrp)
+{
+ return get_errno(getpgrp());
+}
+#endif
+
#ifdef TARGET_NR_getpid
IMPL(getpid)
{
@@ -8138,6 +8145,13 @@ IMPL(getpid)
}
#endif
+#ifdef TARGET_NR_getppid
+IMPL(getppid)
+{
+ return get_errno(getppid());
+}
+#endif
+
#if defined(TARGET_NR_getxpid) && defined(TARGET_ALPHA)
IMPL(getxpid)
{
@@ -8613,6 +8627,11 @@ IMPL(setpgid)
return get_errno(setpgid(arg1, arg2));
}
+IMPL(setsid)
+{
+ return get_errno(setsid());
+}
+
#ifdef TARGET_NR_stime
IMPL(stime)
{
@@ -8854,16 +8873,6 @@ static abi_long do_syscall1(void *cpu_env, unsigned num, abi_long arg1,
void *p;
switch(num) {
-#ifdef TARGET_NR_getppid /* not on alpha */
- case TARGET_NR_getppid:
- return get_errno(getppid());
-#endif
-#ifdef TARGET_NR_getpgrp
- case TARGET_NR_getpgrp:
- return get_errno(getpgrp());
-#endif
- case TARGET_NR_setsid:
- return get_errno(setsid());
#ifdef TARGET_NR_sigaction
case TARGET_NR_sigaction:
{
@@ -12673,9 +12682,15 @@ static impl_fn *syscall_table(unsigned num)
#ifdef TARGET_NR_futimesat
SYSCALL(futimesat);
#endif
+#ifdef TARGET_NR_getpgrp
+ SYSCALL(getpgrp);
+#endif
#ifdef TARGET_NR_getpid
SYSCALL(getpid);
#endif
+#ifdef TARGET_NR_getppid
+ SYSCALL(getppid);
+#endif
#if defined(TARGET_NR_getxpid) && defined(TARGET_ALPHA)
SYSCALL(getxpid);
#endif
@@ -12727,6 +12742,7 @@ static impl_fn *syscall_table(unsigned num)
SYSCALL(rmdir);
#endif
SYSCALL(setpgid);
+ SYSCALL(setsid);
#ifdef TARGET_NR_stime
SYSCALL(stime);
#endif
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- linux-user/syscall.c | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-)