Handle fallocate() on 64-bit platforms. Fixes bug 185794.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10456
This commit is contained in:
Nicholas Nethercote 2009-07-15 03:08:35 +00:00
parent 2a7a73345f
commit f00335141b
6 changed files with 16 additions and 4 deletions

View File

@ -92,6 +92,8 @@ DECL_TEMPLATE(linux, sys_epoll_pwait);
DECL_TEMPLATE(linux, sys_eventfd);
DECL_TEMPLATE(linux, sys_eventfd2);
DECL_TEMPLATE(linux, sys_fallocate);
DECL_TEMPLATE(linux, sys_gettid);
DECL_TEMPLATE(linux, sys_set_tid_address);
DECL_TEMPLATE(linux, sys_tkill);

View File

@ -1359,7 +1359,7 @@ const SyscallTableEntry ML_(syscall_table)[] = {
LINXY(__NR_timerfd_create, sys_timerfd_create), // 283
LINX_(__NR_eventfd, sys_eventfd), // 284
// LINX_(__NR_fallocate, sys_ni_syscall), // 285
LINX_(__NR_fallocate, sys_fallocate), // 285
LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 286
LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 287
// (__NR_paccept, sys_ni_syscall) // 288

View File

@ -1146,6 +1146,16 @@ POST(sys_eventfd2)
}
}
// 64-bit version.
PRE(sys_fallocate)
{
*flags |= SfMayBlock;
PRINT("sys_fallocate ( %ld, %ld, %lld, %lld )",
ARG1, ARG2, (Long)ARG3, (Long)ARG4);
PRE_REG_READ4(long, "fallocate",
int, fd, int, mode, vki_loff_t, offset, vki_loff_t, len);
}
/* ---------------------------------------------------------------------
tid-related wrappers
------------------------------------------------------------------ */

View File

@ -1857,7 +1857,7 @@ const SyscallTableEntry ML_(syscall_table)[] = {
LINXY(__NR_timerfd_create, sys_timerfd_create), // 306
LINX_(__NR_eventfd, sys_eventfd), // 307
// LINX_(__NR_sync_file_range2, sys_ni_syscall), // 308
// LINX_(__NR_fallocate, sys_ni_syscall), // 309
// LINX_(__NR_fallocate, sys_fallocate), // 309
// LINXY(__NR_subpage_prot, sys_ni_syscall), // 310
LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 311
LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 312

View File

@ -1497,7 +1497,7 @@ const SyscallTableEntry ML_(syscall_table)[] = {
LINXY(__NR_timerfd_create, sys_timerfd_create), // 306
LINX_(__NR_eventfd, sys_eventfd), // 307
// LINX_(__NR_sync_file_range2, sys_ni_syscall), // 308
// LINX_(__NR_fallocate, sys_ni_syscall), // 309
LINX_(__NR_fallocate, sys_fallocate), // 309
// LINXY(__NR_subpage_prot, sys_ni_syscall), // 310
LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 311
LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 312

View File

@ -2234,7 +2234,7 @@ const SyscallTableEntry ML_(syscall_table)[] = {
LINXY(__NR_signalfd, sys_signalfd), // 321
LINXY(__NR_timerfd_create, sys_timerfd_create), // 322
LINX_(__NR_eventfd, sys_eventfd), // 323
// LINX_(__NR_fallocate, sys_ni_syscall), // 324
//LINX_(__NR_fallocate, sys_fallocate), // 324
LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 325
LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 326