|
From: <sv...@va...> - 2008-05-14 12:21:23
|
Author: sewardj
Date: 2008-05-14 13:21:29 +0100 (Wed, 14 May 2008)
New Revision: 8076
Log:
Merge r7324 (Add support for the sync_file_range system call. (Russell
Sears, Tom Hughes))
Modified:
branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/priv_syswrap-linux.h
branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.c
branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-linux.c
branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/priv_syswrap-linux.h
===================================================================
--- branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/priv_syswrap-linux.h 2008-05-14 12:20:47 UTC (rev 8075)
+++ branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/priv_syswrap-linux.h 2008-05-14 12:21:29 UTC (rev 8076)
@@ -220,6 +220,9 @@
DECL_TEMPLATE(linux, sys_rt_sigqueueinfo);
DECL_TEMPLATE(linux, sys_rt_sigsuspend);
+// Linux-specific?
+DECL_TEMPLATE(linux, sys_sync_file_range);
+
/* ---------------------------------------------------------------------
Wrappers for sockets and ipc-ery. These are split into standalone
procedures because x86-linux hides them inside multiplexors
Modified: branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.c
===================================================================
--- branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.c 2008-05-14 12:20:47 UTC (rev 8075)
+++ branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.c 2008-05-14 12:21:29 UTC (rev 8076)
@@ -1371,6 +1371,12 @@
// LINX_(__NR_unshare, sys_unshare), // 272
LINX_(__NR_set_robust_list, sys_set_robust_list), // 273
LINXY(__NR_get_robust_list, sys_get_robust_list), // 274
+
+// LINX_(__NR_splice, sys_ni_syscall), // 275
+// LINX_(__NR_tee, sys_ni_syscall), // 276
+ LINX_(__NR_sync_file_range, sys_sync_file_range), // 277
+// LINX_(__NR_vmsplice, sys_ni_syscall), // 278
+// LINX_(__NR_move_pages, sys_ni_syscall), // 279
};
const UInt ML_(syscall_table_size) =
Modified: branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-linux.c 2008-05-14 12:20:47 UTC (rev 8075)
+++ branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-linux.c 2008-05-14 12:21:29 UTC (rev 8076)
@@ -2118,6 +2118,17 @@
POST_MEM_WRITE( ARG5, sizeof(struct vki_rusage) );
}
+PRE(sys_sync_file_range)
+{
+ PRINT("sys_sync_file_range ( %d, %lld, %lld, %d )",
+ ARG1,ARG2,ARG3,ARG4);
+ PRE_REG_READ4(long, "sync_file_range",
+ int, fd, vki_loff_t, offset, vki_loff_t, nbytes,
+ unsigned int, flags);
+ if (!ML_(fd_allowed)(ARG1, "sync_file_range", tid, False))
+ SET_STATUS_Failure( VKI_EBADF );
+}
+
/* ---------------------------------------------------------------------
utime wrapper
------------------------------------------------------------------ */
Modified: branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-x86-linux.c
===================================================================
--- branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-x86-linux.c 2008-05-14 12:20:47 UTC (rev 8075)
+++ branches/VALGRIND_3_3_BRANCH/coregrind/m_syswrap/syswrap-x86-linux.c 2008-05-14 12:21:29 UTC (rev 8076)
@@ -2216,7 +2216,15 @@
// 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_splice, sys_ni_syscall), // 313
+ LINX_(__NR_sync_file_range, sys_sync_file_range), // 314
+// LINX_(__NR_tee, sys_ni_syscall), // 315
+// LINX_(__NR_vmsplice, sys_ni_syscall), // 316
+// LINX_(__NR_move_pages, sys_ni_syscall), // 317
+// LINX_(__NR_getcpu, sys_ni_syscall), // 318
+// LINX_(__NR_epoll_pwait, sys_ni_syscall), // 319
+
LINX_(__NR_utimensat, sys_utimensat), // 320
};
|