Commit 978a66ff73add1f462903af92ccf9a34f6a513c2

Authored by bellard
1 parent f7806f94

utimes() support


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1164 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user/arm/syscall_nr.h
... ... @@ -259,3 +259,4 @@
259 259 /* 254 for set_thread_area */
260 260 /* 255 for get_thread_area */
261 261 /* 256 for set_tid_address */
  262 +#define TARGET_NR_utimes (269)
... ...
linux-user/i386/syscall_nr.h
... ... @@ -271,3 +271,4 @@
271 271 #define TARGET_NR_clock_getres (TARGET_NR_timer_create+7)
272 272 #define TARGET_NR_clock_nanosleep (TARGET_NR_timer_create+8)
273 273  
  274 +#define TARGET_NR_utimes 271
... ...
linux-user/syscall.c
... ... @@ -1742,6 +1742,20 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
1742 1742 ret = get_errno(utime((const char *)arg1, tbuf1));
1743 1743 }
1744 1744 break;
  1745 + case TARGET_NR_utimes:
  1746 + {
  1747 + struct target_timeval *target_tvp = (struct target_timeval *)arg2;
  1748 + struct timeval *tvp, tv[2];
  1749 + if (target_tvp) {
  1750 + target_to_host_timeval(&tv[0], &target_tvp[0]);
  1751 + target_to_host_timeval(&tv[1], &target_tvp[1]);
  1752 + tvp = tv;
  1753 + } else {
  1754 + tvp = NULL;
  1755 + }
  1756 + ret = get_errno(utimes((const char *)arg1, tvp));
  1757 + }
  1758 + break;
1745 1759 #ifdef TARGET_NR_stty
1746 1760 case TARGET_NR_stty:
1747 1761 goto unimplemented;
... ...