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