Signed-off-by: Richard Henderson <richard.hender...@linaro.org> --- linux-user/syscall-defs.h | 1 + linux-user/syscall-file.inc.c | 5 +++++ linux-user/syscall.c | 2 -- linux-user/strace.list | 3 --- 4 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/linux-user/syscall-defs.h b/linux-user/syscall-defs.h index 6de7b84351..b6538350a3 100644 --- a/linux-user/syscall-defs.h +++ b/linux-user/syscall-defs.h @@ -214,6 +214,7 @@ SYSCALL_DEF(syncfs, ARG_DEC); SYSCALL_DEF(time, ARG_PTR); #endif SYSCALL_DEF(times, ARG_PTR); +SYSCALL_DEF(umask, ARG_OCT); #ifdef TARGET_NR_umount SYSCALL_DEF(umount, ARG_STR); #endif diff --git a/linux-user/syscall-file.inc.c b/linux-user/syscall-file.inc.c index 4080ab250e..cbde6d906f 100644 --- a/linux-user/syscall-file.inc.c +++ b/linux-user/syscall-file.inc.c @@ -1117,6 +1117,11 @@ SYSCALL_IMPL(rmdir) } #endif +SYSCALL_IMPL(umask) +{ + return get_errno(umask(arg1)); +} + SYSCALL_IMPL(unlinkat) { return do_unlinkat(arg1, arg2, arg3); diff --git a/linux-user/syscall.c b/linux-user/syscall.c index dcb35e1228..419edceab2 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -4241,8 +4241,6 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1, void *p; switch(num) { - case TARGET_NR_umask: - return get_errno(umask(arg1)); case TARGET_NR_chroot: if (!(p = lock_user_string(arg1))) return -TARGET_EFAULT; diff --git a/linux-user/strace.list b/linux-user/strace.list index 4a527b0c65..61d22ad16b 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -1293,9 +1293,6 @@ #ifdef TARGET_NR_ulimit { TARGET_NR_ulimit, "ulimit" , NULL, NULL, NULL }, #endif -#ifdef TARGET_NR_umask -{ TARGET_NR_umask, "umask" , "%s(%#o)", NULL, NULL }, -#endif #ifdef TARGET_NR_uname { TARGET_NR_uname, "uname" , "%s(%p)", NULL, NULL }, #endif -- 2.17.1