|
From: <sv...@va...> - 2015-05-07 18:54:39
|
Author: tom
Date: Thu May 7 19:54:31 2015
New Revision: 15191
Log:
Add support for the syncfs system call.
Based on patch from j...@ec... on BZ#347389.
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-linux.h
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
trunk/coregrind/m_syswrap/syswrap-arm-linux.c
trunk/coregrind/m_syswrap/syswrap-arm64-linux.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-mips32-linux.c
trunk/coregrind/m_syswrap/syswrap-mips64-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
trunk/coregrind/m_syswrap/syswrap-s390x-linux.c
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: trunk/coregrind/m_syswrap/priv_syswrap-linux.h
==============================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-linux.h (original)
+++ trunk/coregrind/m_syswrap/priv_syswrap-linux.h Thu May 7 19:54:31 2015
@@ -287,6 +287,8 @@
DECL_TEMPLATE(linux, sys_getrandom);
DECL_TEMPLATE(linux, sys_memfd_create);
+DECL_TEMPLATE(linux, sys_syncfs);
+
/* ---------------------------------------------------------------------
Wrappers for sockets and ipc-ery. These are split into standalone
procedures because x86-linux hides them inside multiplexors
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c Thu May 7 19:54:31 2015
@@ -1062,7 +1062,7 @@
LINXY(__NR_open_by_handle_at, sys_open_by_handle_at),// 304
LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 305
-// LINX_(__NR_syncfs, sys_ni_syscall), // 306
+ LINX_(__NR_syncfs, sys_syncfs), // 306
LINXY(__NR_sendmmsg, sys_sendmmsg), // 307
// LINX_(__NR_setns, sys_ni_syscall), // 308
LINXY(__NR_getcpu, sys_getcpu), // 309
Modified: trunk/coregrind/m_syswrap/syswrap-arm-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-arm-linux.c Thu May 7 19:54:31 2015
@@ -1212,6 +1212,7 @@
LINXY(__NR_name_to_handle_at, sys_name_to_handle_at),// 370
LINXY(__NR_open_by_handle_at, sys_open_by_handle_at),// 371
LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 372
+ LINX_(__NR_syncfs, sys_syncfs), // 373
LINXY(__NR_sendmmsg, sys_sendmmsg), // 374
LINXY(__NR_getrandom, sys_getrandom), // 384
LINXY(__NR_memfd_create, sys_memfd_create) // 385
Modified: trunk/coregrind/m_syswrap/syswrap-arm64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-arm64-linux.c Thu May 7 19:54:31 2015
@@ -1042,6 +1042,8 @@
GENXY(__NR_wait4, sys_wait4), // 260
+ LINX_(__NR_syncfs, sys_syncfs), // 267
+
LINXY(__NR_sendmmsg, sys_sendmmsg), // 269
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 270
LINX_(__NR_process_vm_writev, sys_process_vm_writev), // 271
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Thu May 7 19:54:31 2015
@@ -3064,6 +3064,13 @@
}
}
+PRE(sys_syncfs)
+{
+ *flags |= SfMayBlock;
+ PRINT("sys_syncfs ( %ld )", ARG1);
+ PRE_REG_READ1(long, "syncfs", unsigned int, fd);
+}
+
/* ---------------------------------------------------------------------
utime wrapper
------------------------------------------------------------------ */
Modified: trunk/coregrind/m_syswrap/syswrap-mips32-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-mips32-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-mips32-linux.c Thu May 7 19:54:31 2015
@@ -1112,6 +1112,7 @@
LINXY (__NR_prlimit64, sys_prlimit64), // 338
//..
LINXY (__NR_clock_adjtime, sys_clock_adjtime), // 341
+ LINX_ (__NR_syncfs, sys_syncfs), // 342
//..
LINXY (__NR_process_vm_readv, sys_process_vm_readv), // 345
LINX_ (__NR_process_vm_writev, sys_process_vm_writev), // 346
Modified: trunk/coregrind/m_syswrap/syswrap-mips64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-mips64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-mips64-linux.c Thu May 7 19:54:31 2015
@@ -909,7 +909,8 @@
LINXY (__NR_process_vm_readv, sys_process_vm_readv),
LINX_ (__NR_process_vm_writev, sys_process_vm_writev),
LINXY(__NR_getrandom, sys_getrandom),
- LINXY(__NR_memfd_create, sys_memfd_create)
+ LINXY(__NR_memfd_create, sys_memfd_create),
+ LINX_(__NR_syncfs, sys_syncfs)
};
SyscallTableEntry * ML_(get_linux_syscall_entry) ( UInt sysno )
Modified: trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c Thu May 7 19:54:31 2015
@@ -1253,7 +1253,7 @@
LINXY(__NR_accept4, sys_accept4), // 344
LINX_(__NR_clock_adjtime, sys_clock_adjtime), // 347
-
+ LINX_(__NR_syncfs, sys_syncfs), // 348
LINXY(__NR_sendmmsg, sys_sendmmsg), // 349
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 351
Modified: trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c Thu May 7 19:54:31 2015
@@ -1155,7 +1155,7 @@
LINXY(__NR_accept4, sys_accept4), // 344
LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 347
-
+ LINX_(__NR_syncfs, sys_syncfs), // 348
LINXY(__NR_sendmmsg, sys_sendmmsg), // 349
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 351
Modified: trunk/coregrind/m_syswrap/syswrap-s390x-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-s390x-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-s390x-linux.c Thu May 7 19:54:31 2015
@@ -1035,7 +1035,7 @@
LINXY(__NR_name_to_handle_at, sys_name_to_handle_at), // 335
LINXY(__NR_open_by_handle_at, sys_open_by_handle_at), // 336
LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 337
-// ?????(__NR_syncfs, ), // 338
+ LINX_(__NR_syncfs, sys_syncfs), // 338
// ?????(__NR_setns, ), // 339
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 340
Modified: trunk/coregrind/m_syswrap/syswrap-x86-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c Thu May 7 19:54:31 2015
@@ -1805,7 +1805,7 @@
LINXY(__NR_name_to_handle_at, sys_name_to_handle_at),// 341
LINXY(__NR_open_by_handle_at, sys_open_by_handle_at),// 342
LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 343
-// LINX_(__NR_syncfs, sys_ni_syscall), // 344
+ LINX_(__NR_syncfs, sys_syncfs), // 344
LINXY(__NR_sendmmsg, sys_sendmmsg), // 345
// LINX_(__NR_setns, sys_ni_syscall), // 346
|