summary refs log tree commit diff stats
path: root/linux-user/syscall.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux-user/syscall.c')
-rw-r--r--linux-user/syscall.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index b2965bbbd9..2407400c1f 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -1742,6 +1742,20 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
             ret = get_errno(utime((const char *)arg1, tbuf1));
         }
         break;
+    case TARGET_NR_utimes:
+        {
+            struct target_timeval *target_tvp = (struct target_timeval *)arg2;
+            struct timeval *tvp, tv[2];
+            if (target_tvp) {
+                target_to_host_timeval(&tv[0], &target_tvp[0]);
+                target_to_host_timeval(&tv[1], &target_tvp[1]);
+                tvp = tv;
+            } else {
+                tvp = NULL;
+            }
+            ret = get_errno(utimes((const char *)arg1, tvp));
+        }
+        break;
 #ifdef TARGET_NR_stty
     case TARGET_NR_stty:
         goto unimplemented;