Add a no-op wrapper for a new-in-10.10 syscall: getattrlistbulk
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14701 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_syswrap/priv_syswrap-darwin.h b/coregrind/m_syswrap/priv_syswrap-darwin.h
index c9e2b59..e03d91e 100644
--- a/coregrind/m_syswrap/priv_syswrap-darwin.h
+++ b/coregrind/m_syswrap/priv_syswrap-darwin.h
@@ -535,7 +535,7 @@
// NYI coalition // 458
// NYI coalition_info // 459
// NYI necp_match_policy // 460
-// NYI getattrlistbulk // 461
+DECL_TEMPLATE(darwin, getattrlistbulk); // 461
// 462
// NYI openat // 463
// NYI openat_nocancel // 464
diff --git a/coregrind/m_syswrap/syswrap-darwin.c b/coregrind/m_syswrap/syswrap-darwin.c
index 016ef7f..5fda32a 100644
--- a/coregrind/m_syswrap/syswrap-darwin.c
+++ b/coregrind/m_syswrap/syswrap-darwin.c
@@ -8924,6 +8924,25 @@
#if DARWIN_VERS >= DARWIN_10_10
+PRE(sysctlbyname)
+{
+ // int sysctlbyname(const char *name, size_t namelen, void *old,
+ // size_t *oldlenp, void *new, size_t newlen)
+ PRINT("sysctlbyname(FIXME)(%lx(%s),%ld, %lx,%lx, %lx,%lx)",
+ ARG1, ARG1 ? (const HChar*)ARG1 : "(null)",
+ ARG2, ARG3, ARG4, ARG5, ARG6);
+}
+
+PRE(getattrlistbulk)
+{
+ // int getattrlistbulk(int dirfd, struct attrlist *alist,
+ // void *attributeBuffer, size_t bufferSize,
+ // uint64_t options);
+ // Presumably the last arg is value-pair in the 32 bit case.
+ PRINT("getattrlistbulk(FIXME)(%ld, %lx, %lx, %lu, %lu)",
+ ARG1, ARG2, ARG3, ARG4, ARG5);
+}
+
PRE(bsdthread_ctl)
{
// int bsdthread_ctl(user_addr_t cmd, user_addr_t arg1,
@@ -8931,15 +8950,6 @@
PRINT("bsdthread_ctl(FIXME)(%lx,%lx,%lx,%lx)", ARG1, ARG2, ARG3, ARG4);
}
-PRE(sysctlbyname)
-{
- // int sysctlbyname(const char *name, size_t namelen, void *old,
- // size_t *oldlenp, void *new, size_t newlen)
- PRINT("sysctlbyname(FIXME)(%lx(%s),%ld, %lx,%lx, %lx,%lx",
- ARG1, ARG1 ? (const HChar*)ARG1 : "(null)",
- ARG2, ARG3, ARG4, ARG5, ARG6);
-}
-
#endif /* DARWIN_VERS >= DARWIN_10_10 */
@@ -9453,8 +9463,9 @@
MACX_(__NR_disconnectx, disconnectx),
#endif
#if DARWIN_VERS >= DARWIN_10_10
- MACX_(__NR_bsdthread_ctl, bsdthread_ctl),
- MACX_(__NR_sysctlbyname, sysctlbyname),
+ MACX_(__NR_sysctlbyname, sysctlbyname), // 274
+ MACX_(__NR_getattrlistbulk, getattrlistbulk), // 461
+ MACX_(__NR_bsdthread_ctl, bsdthread_ctl), // 478
#endif
// _____(__NR_MAXSYSCALL)
MACX_(__NR_DARWIN_FAKE_SIGRETURN, FAKE_SIGRETURN)
diff --git a/include/vki/vki-scnums-darwin.h b/include/vki/vki-scnums-darwin.h
index 9146a5e..49cdcac 100644
--- a/include/vki/vki-scnums-darwin.h
+++ b/include/vki/vki-scnums-darwin.h
@@ -712,6 +712,7 @@
#endif /* DARWIN_VERS >= DARWIN_10_9 */
#if DARWIN_VERS == DARWIN_10_10
+#define __NR_getattrlistbulk VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(461)
#define __NR_bsdthread_ctl VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(478)
#endif