Author: sewardj
Date: 2007-11-20 23:41:23 +0000 (Tue, 20 Nov 2007)
New Revision: 7195

Log:
Support sys_utimensat on x86-linux. (Dan McGee)

Modified:
   trunk/coregrind/m_syswrap/priv_syswrap-linux.h
   trunk/coregrind/m_syswrap/syswrap-linux.c
   trunk/coregrind/m_syswrap/syswrap-x86-linux.c
   trunk/include/vki/vki-scnums-x86-linux.h


Modified: trunk/coregrind/m_syswrap/priv_syswrap-linux.h
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-linux.h      2007-11-20 21:38:14 UTC 
(rev 7194)
+++ trunk/coregrind/m_syswrap/priv_syswrap-linux.h      2007-11-20 23:41:23 UTC 
(rev 7195)
@@ -141,6 +141,7 @@
 DECL_TEMPLATE(linux, sys_readlinkat);
 DECL_TEMPLATE(linux, sys_fchmodat);
 DECL_TEMPLATE(linux, sys_faccessat);
+DECL_TEMPLATE(linux, sys_utimensat);
 
 DECL_TEMPLATE(linux, sys_add_key);
 DECL_TEMPLATE(linux, sys_request_key);

Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c   2007-11-20 21:38:14 UTC (rev 
7194)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c   2007-11-20 23:41:23 UTC (rev 
7195)
@@ -2808,6 +2808,18 @@
 }
 
 
+/* XXX I don't think this is really the right place for this.
+   Move it elsewhere in this file? */
+PRE(sys_utimensat)
+{
+   PRINT("sys_utimensat ( %d, %p(%s), %p )", ARG1,ARG2,ARG2,ARG3);
+   PRE_REG_READ3(long, "utimensat",
+                 int, dfd, char *, filename, struct timespec *, tvp);
+   PRE_MEM_RASCIIZ( "utimensat(filename)", ARG2 );
+   if (ARG3 != 0)
+      PRE_MEM_READ( "utimensat(tvp)", ARG3, sizeof(struct vki_timespec) );
+}
+
 #undef PRE
 #undef POST
 

Modified: trunk/coregrind/m_syswrap/syswrap-x86-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c       2007-11-20 21:38:14 UTC 
(rev 7194)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c       2007-11-20 23:41:23 UTC 
(rev 7195)
@@ -2216,6 +2216,8 @@
 //   LINX_(__NR_unshare,                sys_unshare),          // 310
    LINX_(__NR_set_robust_list,  sys_set_robust_list),  // 311
    LINXY(__NR_get_robust_list,  sys_get_robust_list),  // 312
+
+   LINX_(__NR_utimensat,         sys_utimensat),        // 320
 };
 
 const UInt ML_(syscall_table_size) = 

Modified: trunk/include/vki/vki-scnums-x86-linux.h
===================================================================
--- trunk/include/vki/vki-scnums-x86-linux.h    2007-11-20 21:38:14 UTC (rev 
7194)
+++ trunk/include/vki/vki-scnums-x86-linux.h    2007-11-20 23:41:23 UTC (rev 
7195)
@@ -351,6 +351,7 @@
 #define __NR_sync_file_range   314
 #define __NR_tee               315
 #define __NR_vmsplice          316
+#define __NR_utimensat         320
 
 #endif /* __VKI_SCNUMS_X86_LINUX_H */
 


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Valgrind-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to