@@ -75,6 +75,7 @@ SYSCALL_DEF(getppid);
#ifdef TARGET_NR_getrlimit
SYSCALL_DEF(getrlimit, ARG_DEC, ARG_PTR);
#endif
+SYSCALL_DEF(getrusage, ARG_DEC, ARG_PTR);
SYSCALL_DEF(getsid, ARG_DEC);
#ifdef TARGET_NR_getxpid
SYSCALL_DEF(getxpid);
@@ -499,6 +499,18 @@ SYSCALL_IMPL(getrlimit)
return ret;
}
#endif
+
+SYSCALL_IMPL(getrusage)
+{
+ struct rusage rusage;
+ abi_long ret = get_errno(getrusage(arg1, &rusage));
+
+ if (!is_error(ret)) {
+ ret = host_to_target_rusage(arg2, &rusage);
+ }
+ return ret;
+}
+
SYSCALL_IMPL(getsid)
{
return get_errno(getsid(arg1));
@@ -4240,15 +4240,6 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
void *p;
switch(num) {
- case TARGET_NR_getrusage:
- {
- struct rusage rusage;
- ret = get_errno(getrusage(arg1, &rusage));
- if (!is_error(ret)) {
- ret = host_to_target_rusage(arg2, &rusage);
- }
- }
- return ret;
case TARGET_NR_gettimeofday:
{
struct timeval tv;
@@ -283,9 +283,6 @@
#ifdef TARGET_NR_get_robust_list
{ TARGET_NR_get_robust_list, "get_robust_list" , NULL, NULL, NULL },
#endif
-#ifdef TARGET_NR_getrusage
-{ TARGET_NR_getrusage, "getrusage" , NULL, NULL, NULL },
-#endif
#ifdef TARGET_NR_getsockname
{ TARGET_NR_getsockname, "getsockname" , NULL, NULL, NULL },
#endif
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- linux-user/syscall-defs.h | 1 + linux-user/syscall-proc.inc.c | 12 ++++++++++++ linux-user/syscall.c | 9 --------- linux-user/strace.list | 3 --- 4 files changed, 13 insertions(+), 12 deletions(-)