From fd128453fff172965e49ca1e5edc69432632f7d1 Mon Sep 17 00:00:00 2001 From: Rhys Kidd Date: Sun, 30 Apr 2017 00:28:10 +0000 Subject: [PATCH] macos: Add a no-op wrapper for a new-in-10.10 syscall: faccessat Patch from Louis Brunner. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16322 --- coregrind/m_syswrap/priv_syswrap-darwin.h | 2 +- coregrind/m_syswrap/syswrap-darwin.c | 9 +++++++++ include/vki/vki-scnums-darwin.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/coregrind/m_syswrap/priv_syswrap-darwin.h b/coregrind/m_syswrap/priv_syswrap-darwin.h index ea01eac9ca..1b3cc9b797 100644 --- a/coregrind/m_syswrap/priv_syswrap-darwin.h +++ b/coregrind/m_syswrap/priv_syswrap-darwin.h @@ -569,7 +569,7 @@ DECL_TEMPLATE(darwin, getattrlistbulk); // 461 // NYI openat // 463 // NYI openat_nocancel // 464 // NYI renameat // 465 -// NYI faccessat // 466 +DECL_TEMPLATE(darwin, faccessat); // 466 // NYI fchmodat // 467 // NYI fchownat // 468 // NYI fstatat // 469 diff --git a/coregrind/m_syswrap/syswrap-darwin.c b/coregrind/m_syswrap/syswrap-darwin.c index 83e3c15ccd..eb24688a88 100644 --- a/coregrind/m_syswrap/syswrap-darwin.c +++ b/coregrind/m_syswrap/syswrap-darwin.c @@ -9699,6 +9699,14 @@ POST(getattrlistbulk) POST_MEM_WRITE(ARG3, ARG4); } +PRE(faccessat) +{ + PRINT("faccessat(FIXME)(fd:%ld, path:%#lx(%s), amode:%#lx, flag:%#lx)", + ARG1, ARG2, (HChar*)ARG2, ARG3, ARG4); + PRE_REG_READ4(int, "faccessat", + int, fd, user_addr_t, path, int, amode, int, flag); +} + PRE(readlinkat) { Word saved = SYSNO; @@ -10321,6 +10329,7 @@ const SyscallTableEntry ML_(syscall_table)[] = { MACXY(__NR_sysctlbyname, sysctlbyname), // 274 MACXY(__NR_necp_match_policy, necp_match_policy), // 460 MACXY(__NR_getattrlistbulk, getattrlistbulk), // 461 + MACX_(__NR_faccessat, faccessat), // 466 MACX_(__NR_readlinkat, readlinkat), // 473 MACX_(__NR_bsdthread_ctl, bsdthread_ctl), // 478 MACX_(__NR_csrctl, csrctl), // 483 diff --git a/include/vki/vki-scnums-darwin.h b/include/vki/vki-scnums-darwin.h index 165aa06c17..84b2d6df91 100644 --- a/include/vki/vki-scnums-darwin.h +++ b/include/vki/vki-scnums-darwin.h @@ -746,6 +746,7 @@ #endif /* DARWIN_VERS >= DARWIN_10_12 */ #if DARWIN_VERS >= DARWIN_10_10 +#define __NR_faccessat VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(466) #define __NR_readlinkat VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(473) #define __NR_bsdthread_ctl VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(478) #define __NR_csrctl VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(483) -- 2.47.2