|
From: <sv...@va...> - 2007-11-20 23:41:20
|
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 */
|