]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix valgrind 3.9.0 build fails on Mac OS X 10.6.8
authorRhys Kidd <rhyskidd@gmail.com>
Fri, 24 Jul 2015 10:23:34 +0000 (10:23 +0000)
committerRhys Kidd <rhyskidd@gmail.com>
Fri, 24 Jul 2015 10:23:34 +0000 (10:23 +0000)
bz#327745

Patch by Mark H <mh8928@yahoo.com>

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15444

NEWS
coregrind/m_syswrap/priv_syswrap-darwin.h
coregrind/m_syswrap/syswrap-darwin.c
include/vki/vki-scnums-darwin.h

diff --git a/NEWS b/NEWS
index 70dcb5aee72b00f6598cd09959233e7f29421841..a92852fa8e96426b4a295c89f2f87f48ccc13f91 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -120,6 +120,7 @@ where XXXXXX is the bug number as listed below.
         == 326797
 319274  Fix unhandled syscall: unix:410 (sigsuspend_nocancel) on OS X
 324181  mmap does not handle MAP_32BIT (handle it now, rather than fail it)
+327745  Fix valgrind 3.9.0 build fails on Mac OS X 10.6.8
 333051  mmap of huge pages fails due to incorrect alignment
         == 339163
 334802  valgrind does not always explain why a given option is bad
index 3cf868e8e13c99a271ef80eb8698d5f42641fe62..bae30d315d672b3261e9627be9bff5fffd5669f2 100644 (file)
@@ -350,7 +350,7 @@ DECL_TEMPLATE(darwin, chmod_extended);          // 282
 DECL_TEMPLATE(darwin, fchmod_extended);         // 283
 DECL_TEMPLATE(darwin, access_extended);         // 284
 DECL_TEMPLATE(darwin, settid);                  // 285
-#if DARWIN_VERS >= DARWIN_10_7
+#if DARWIN_VERS >= DARWIN_10_6
 DECL_TEMPLATE(darwin, gettid);                  // 286
 #endif
 // NYI setsgroups 287
@@ -362,23 +362,44 @@ DECL_TEMPLATE(darwin, gettid);                  // 286
 // NYI identitysvc 293
 // NYI shared_region_check_np 294
 // NYI shared_region_map_np 295
+#if DARWIN_VERS >= DARWIN_10_6
+// NYI vm_pressure_monitor 296
+// NYI psynch_rw_longrdlock 297
+// NYI psynch_rw_yieldwrlock 298
+// NYI psynch_rw_downgrade 299
+// NYI psynch_rw_upgrade 300
+DECL_TEMPLATE(darwin, psynch_mutexwait);       // 301
+DECL_TEMPLATE(darwin, psynch_mutexdrop);       // 302
+DECL_TEMPLATE(darwin, psynch_cvbroad);         // 303
+DECL_TEMPLATE(darwin, psynch_cvsignal);        // 304
+DECL_TEMPLATE(darwin, psynch_cvwait);          // 305
+DECL_TEMPLATE(darwin, psynch_rw_rdlock);       // 306
+DECL_TEMPLATE(darwin, psynch_rw_wrlock);       // 307
+DECL_TEMPLATE(darwin, psynch_rw_unlock);       // 308
+// NYI psynch_rw_unlock2 309
+#else
 // old load_shared_file
 // old reset_shared_file
 // old new_system_shared_regions
 // old shared_region_map_file_np
 // old shared_region_make_private_np
-DECL_TEMPLATE(darwin, psynch_mutexwait);       // 301 // new in 10.7 ?
-DECL_TEMPLATE(darwin, psynch_mutexdrop);       // 302 // new in 10.7 ?
-DECL_TEMPLATE(darwin, psynch_cvbroad);         // 303 // new in 10.7 ?
-DECL_TEMPLATE(darwin, psynch_cvsignal);        // 304 // new in 10.7 ?
-DECL_TEMPLATE(darwin, psynch_cvwait);          // 305 // new in 10.7 ?
-DECL_TEMPLATE(darwin, psynch_rw_rdlock);       // 306 // new in 10.7 ?
-DECL_TEMPLATE(darwin, psynch_rw_wrlock);       // 307 // new in 10.7 ?
-DECL_TEMPLATE(darwin, psynch_rw_unlock);       // 308 // new in 10.7 ?
+// NYI __pthread_mutex_destroy 301
+// NYI __pthread_mutex_init 302
+// NYI __pthread_mutex_lock 303
+// NYI __pthread_mutex_trylock 304
+// NYI __pthread_mutex_unlock 305
+// NYI __pthread_cond_init 306
+// NYI __pthread_cond_destroy 307
+// NYI __pthread_cond_broadcast 308
 // NYI __pthread_cond_signal 309
+#endif
 // NYI getsid 310
 // NYI settid_with_pid 311
-DECL_TEMPLATE(darwin, psynch_cvclrprepost);    // 312 // new in 10.7 ?
+#if DARWIN_VERS >= DARWIN_10_7
+DECL_TEMPLATE(darwin, psynch_cvclrprepost);    // 312
+#else
+// NYI __pthread_cond_timedwait 312
+#endif
 // NYI aio_fsync 313
 DECL_TEMPLATE(darwin, aio_return);             // 314
 DECL_TEMPLATE(darwin, aio_suspend);            // 315
@@ -402,9 +423,7 @@ DECL_TEMPLATE(darwin, __pthread_markcancel);    // 332
 DECL_TEMPLATE(darwin, __pthread_canceled);      // 333
 DECL_TEMPLATE(darwin, __semwait_signal);        // 334
 // old utrace
-#if DARWIN_VERS >= DARWIN_10_6
 DECL_TEMPLATE(darwin, proc_info);               // 336
-#endif
 DECL_TEMPLATE(darwin, sendfile);                // 337
 DECL_TEMPLATE(darwin, stat64);                  // 338
 DECL_TEMPLATE(darwin, fstat64);                 // 339
@@ -425,9 +444,7 @@ DECL_TEMPLATE(darwin, auditon);                 // 351
 // NYI setauid 354
 // NYI getaudit 355
 // NYI setaudit 356
-#if DARWIN_VERS >= DARWIN_10_7
 DECL_TEMPLATE(darwin, getaudit_addr)            // 357
-#endif
 // NYI setaudit_addr 358
 // NYI auditctl 359
 DECL_TEMPLATE(darwin, bsdthread_create);        // 360
@@ -442,7 +459,9 @@ DECL_TEMPLATE(darwin, workq_ops);               // 368
 DECL_TEMPLATE(darwin, kevent64);                // 369
 // 370
 // 371
+#if DARWIN_VERS >= DARWIN_10_6
 DECL_TEMPLATE(darwin, __thread_selfid);         // 372
+#endif
 // 373
 // 374
 // 375
index b957b049f2fa04d15d11dece45562e9b46ecc342..d109d8a384b94bf592c892a5060b67045726440c 100644 (file)
@@ -3171,47 +3171,6 @@ POST(getdirentriesattr)
          count, (Addr)p-(Addr)ARG3, ARG4);
 }
 
-
-PRE(fsgetpath)
-{
-#if VG_WORDSIZE == 4
-   PRINT("fsgetpath(%#lx, %ld, %#lx {%u,%u}, %llu)", 
-         ARG1, ARG2, ARG3,
-         ((unsigned int *)ARG3)[0], ((unsigned int *)ARG3)[1],
-         LOHI64(ARG4, ARG5));
-   PRE_REG_READ5(ssize_t, "fsgetpath", 
-                 void*,"buf", size_t,"bufsize", 
-                 fsid_t *,"fsid",
-                 vki_uint32_t, "objid_low32", vki_uint32_t, "objid_high32");
-#else
-   PRINT("fsgetpath(%#lx, %ld, %#lx {%u,%u}, %lu)", 
-         ARG1, ARG2, ARG3,
-         ((unsigned int *)ARG3)[0],
-         ((unsigned int *)ARG3)[1], ARG4);
-   PRE_REG_READ4(ssize_t, "fsgetpath", 
-                 void*,"buf", size_t,"bufsize", 
-                 fsid_t *,"fsid", uint64_t,"objid");
-#endif
-   PRE_MEM_READ("fsgetpath(fsid)", ARG3, sizeof(fsid_t));
-   PRE_MEM_WRITE("fsgetpath(buf)", ARG1, ARG2);
-}
-
-POST(fsgetpath)
-{
-   POST_MEM_WRITE(ARG1, RES);
-}
-
-PRE(audit_session_self)
-{
-  PRINT("audit_session_self()");
-}
-
-POST(audit_session_self)
-{
-  record_named_port(tid, RES, MACH_PORT_RIGHT_SEND, "audit-session-%p");
-  PRINT("audit-session %#lx", RES);
-}
-
 PRE(exchangedata)
 {
    PRINT("exchangedata(%#lx(%s), %#lx(%s), %lu)",
@@ -4141,6 +4100,17 @@ POST(auditon)
    }    
 }
 
+PRE(getaudit_addr)
+{
+   PRINT("getaudit_addr(%#lx, %lu)", ARG1, ARG2);
+   PRE_REG_READ1(void*, "auditinfo_addr", int, "length");
+   PRE_MEM_WRITE("getaudit_addr(auditinfo_addr)", ARG1, ARG2);
+}
+POST(getaudit_addr)
+{
+   POST_MEM_WRITE(ARG1, ARG2);
+}
+
 
 PRE(mmap)
 {
@@ -4386,7 +4356,6 @@ PRE(sigsuspend)
                  uint32_t flavor, uint64_t arg,
                  user_addr_t buffer, int32_t buffersize)
 */
-#if DARWIN_VERS >= DARWIN_10_6
 PRE(proc_info)
 {
 #if VG_WORDSIZE == 4
@@ -4452,7 +4421,6 @@ POST(proc_info)
 #endif
 }
 
-#endif /* DARWIN_VERS >= DARWIN_10_6 */
 
 /* ---------------------------------------------------------------------
    aio_*
@@ -8718,12 +8686,6 @@ PRE(__semwait_signal)
 //}
 
 
-PRE(__thread_selfid)
-{
-   PRINT("__thread_selfid ()");
-   PRE_REG_READ0(vki_uint64_t, "__thread_selfid");
-}
-
 PRE(task_for_pid)
 {
    PRINT("task_for_pid(%s, %ld, %#lx)", name_for_port(ARG1), ARG2, ARG3);
@@ -9072,21 +9034,10 @@ PRE(thread_fast_set_cthread_self)
 
 
 /* ---------------------------------------------------------------------
-   Added for OSX 10.7 (Lion)
+   Added for OSX 10.6 (Snow Leopard)
    ------------------------------------------------------------------ */
 
-#if DARWIN_VERS >= DARWIN_10_7
-
-PRE(getaudit_addr)
-{
-   PRINT("getaudit_addr(%#lx, %lu)", ARG1, ARG2);
-   PRE_REG_READ1(void*, "auditinfo_addr", int, "length");
-   PRE_MEM_WRITE("getaudit_addr(auditinfo_addr)", ARG1, ARG2);
-}
-POST(getaudit_addr)
-{
-   POST_MEM_WRITE(ARG1, ARG2);
-}
+#if DARWIN_VERS >= DARWIN_10_6
 
 PRE(psynch_mutexwait)
 {
@@ -9157,6 +9108,60 @@ POST(psynch_rw_unlock)
 {
 }
 
+PRE(__thread_selfid)
+{
+   PRINT("__thread_selfid ()");
+   PRE_REG_READ0(vki_uint64_t, "__thread_selfid");
+}
+
+PRE(fsgetpath)
+{
+#if VG_WORDSIZE == 4
+   PRINT("fsgetpath(%#lx, %ld, %#lx {%u,%u}, %llu)", 
+         ARG1, ARG2, ARG3,
+         ((unsigned int *)ARG3)[0], ((unsigned int *)ARG3)[1],
+         LOHI64(ARG4, ARG5));
+   PRE_REG_READ5(ssize_t, "fsgetpath", 
+                 void*,"buf", size_t,"bufsize", 
+                 fsid_t *,"fsid",
+                 vki_uint32_t, "objid_low32", vki_uint32_t, "objid_high32");
+#else
+   PRINT("fsgetpath(%#lx, %ld, %#lx {%u,%u}, %lu)", 
+         ARG1, ARG2, ARG3,
+         ((unsigned int *)ARG3)[0],
+         ((unsigned int *)ARG3)[1], ARG4);
+   PRE_REG_READ4(ssize_t, "fsgetpath", 
+                 void*,"buf", size_t,"bufsize", 
+                 fsid_t *,"fsid", uint64_t,"objid");
+#endif
+   PRE_MEM_READ("fsgetpath(fsid)", ARG3, sizeof(fsid_t));
+   PRE_MEM_WRITE("fsgetpath(buf)", ARG1, ARG2);
+}
+
+POST(fsgetpath)
+{
+   POST_MEM_WRITE(ARG1, RES);
+}
+
+PRE(audit_session_self)
+{
+  PRINT("audit_session_self()");
+}
+POST(audit_session_self)
+{
+  record_named_port(tid, RES, MACH_PORT_RIGHT_SEND, "audit-session-%p");
+  PRINT("audit-session %#lx", RES);
+}
+
+#endif /* DARWIN_VERS >= DARWIN_10_6 */
+
+
+/* ---------------------------------------------------------------------
+   Added for OSX 10.7 (Lion)
+   ------------------------------------------------------------------ */
+
+#if DARWIN_VERS >= DARWIN_10_7
+
 PRE(psynch_cvclrprepost)
 {
    PRINT("psynch_cvclrprepost(BOGUS)");
@@ -9996,13 +10001,10 @@ const SyscallTableEntry ML_(syscall_table)[] = {
 // _____(__NR_shared_region_map_np), 
 #if DARWIN_VERS >= DARWIN_10_6
 // _____(__NR_vm_pressure_monitor), 
-#else
-   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(296)),   // old load_shared_file 
-#endif
-   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(297)),   // old reset_shared_file 
-   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(298)),   // old new_system_shared_regions 
-   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(299)),   // old shared_region_map_file_np 
-   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(300)),   // old shared_region_make_private_np
+// _____(__NR_psynch_rw_longrdlock), 
+// _____(__NR_psynch_rw_yieldwrlock), 
+// _____(__NR_psynch_rw_downgrade), 
+// _____(__NR_psynch_rw_upgrade), 
    MACXY(__NR_psynch_mutexwait, psynch_mutexwait), // 301
    MACXY(__NR_psynch_mutexdrop, psynch_mutexdrop), // 302
    MACXY(__NR_psynch_cvbroad,   psynch_cvbroad),   // 303
@@ -10011,10 +10013,30 @@ const SyscallTableEntry ML_(syscall_table)[] = {
    MACXY(__NR_psynch_rw_rdlock, psynch_rw_rdlock), // 306
    MACXY(__NR_psynch_rw_wrlock, psynch_rw_wrlock), // 307
    MACXY(__NR_psynch_rw_unlock, psynch_rw_unlock), // 308
-   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(309)),   // ???
+// _____(__NR_psynch_rw_unlock2), 
+#else
+   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(296)),   // old load_shared_file 
+   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(297)),   // old reset_shared_file 
+   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(298)),   // old new_system_shared_regions 
+   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(299)),   // old shared_region_map_file_np 
+   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(300)),   // old shared_region_make_private_np
+// _____(__NR___pthread_mutex_destroy), 
+// _____(__NR___pthread_mutex_init), 
+// _____(__NR___pthread_mutex_lock), 
+// _____(__NR___pthread_mutex_trylock), 
+// _____(__NR___pthread_mutex_unlock), 
+// _____(__NR___pthread_cond_init), 
+// _____(__NR___pthread_cond_destroy), 
+// _____(__NR___pthread_cond_broadcast), 
+// _____(__NR___pthread_cond_signal), 
+#endif
 // _____(__NR_getsid), 
 // _____(__NR_settid_with_pid), 
+#if DARWIN_VERS >= DARWIN_10_7
    MACXY(__NR_psynch_cvclrprepost, psynch_cvclrprepost), // 312
+#else
+   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(308)),   // old __pthread_cond_timedwait
+#endif
 // _____(__NR_aio_fsync), 
    MACXY(__NR_aio_return,     aio_return), 
    MACX_(__NR_aio_suspend,    aio_suspend), 
@@ -10044,9 +10066,7 @@ const SyscallTableEntry ML_(syscall_table)[] = {
    MACX_(__NR___pthread_canceled,      __pthread_canceled),
    MACX_(__NR___semwait_signal,        __semwait_signal), 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(335)),   // old utrace
-#if DARWIN_VERS >= DARWIN_10_6
    MACXY(__NR_proc_info,               proc_info),  // 336
-#endif
    MACXY(__NR_sendfile,    sendfile), 
    MACXY(__NR_stat64,      stat64), 
    MACXY(__NR_fstat64,     fstat64), 
@@ -10067,9 +10087,7 @@ const SyscallTableEntry ML_(syscall_table)[] = {
 // _____(__NR_setauid), 
 // _____(__NR_getaudit), 
 // _____(__NR_setaudit), 
-#if DARWIN_VERS >= DARWIN_10_7
    MACXY(__NR_getaudit_addr, getaudit_addr),
-#endif
 // _____(__NR_setaudit_addr), 
 // _____(__NR_auditctl), 
    MACXY(__NR_bsdthread_create,     bsdthread_create),   // 360
index 44708e6df31786d10b22a3c6bb957da34374aced..11b6ff16ec7bd2cc238d837ccc3b8cb83b1511cf 100644 (file)
 #define        __NR_shared_region_map_np   VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(295)
 #if DARWIN_VERS >= DARWIN_10_6
 #define __NR_vm_pressure_monitor    VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(296)
+#define __NR_psynch_rw_longrdlock   VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(297)
+#define __NR_psynch_rw_yieldwrlock  VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(298)
+#define __NR_psynch_rw_downgrade    VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(299)
+#define __NR_psynch_rw_upgrade      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(300)
+#define __NR_psynch_mutexwait       VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(301)
+#define __NR_psynch_mutexdrop       VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(302)
+#define __NR_psynch_cvbroad         VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(303)
+#define __NR_psynch_cvsignal        VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(304)
+#define __NR_psynch_cvwait          VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(305)
+#define __NR_psynch_rw_rdlock       VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(306)
+#define __NR_psynch_rw_wrlock       VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(307)
+#define __NR_psynch_rw_unlock       VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(308)
+#define __NR_psynch_rw_unlock2      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(309)
 #else
                        /* 296  old load_shared_file */
-#endif
                        /* 297  old reset_shared_file */
                        /* 298  old new_system_shared_regions */
                        /* 299  old shared_region_map_file_np */
                        /* 300  old shared_region_make_private_np */
-#define __NR_psynch_mutexwait VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(301)
-#define __NR_psynch_mutexdrop VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(302)
-#define __NR_psynch_cvbroad   VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(303)
-#define __NR_psynch_cvsignal  VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(304)
-#define __NR_psynch_cvwait    VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(305)
-#define __NR_psynch_rw_rdlock VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(306)
-#define __NR_psynch_rw_wrlock VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(307)
-#define __NR_psynch_rw_unlock VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(308)
-                       /* 309 */
+#define __NR___pthread_mutex_destroy  VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(301)
+#define __NR___pthread_mutex_init     VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(302)
+#define __NR___pthread_mutex_lock     VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(303)
+#define __NR___pthread_mutex_trylock  VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(304)
+#define __NR___pthread_mutex_unlock   VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(305)
+#define __NR___pthread_cond_init      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(306)
+#define __NR___pthread_cond_destroy   VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(307)
+#define __NR___pthread_cond_broadcast VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(308)
+#define __NR___pthread_cond_signal    VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(309)
+#endif
 #define        __NR_getsid         VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(310)
 #define        __NR_settid_with_pid VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(311)
+#if DARWIN_VERS >= DARWIN_10_7
 #define __NR_psynch_cvclrprepost VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(312)
+#else
+#define __NR___pthread_cond_timedwait VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(312)
+#endif
 #define        __NR_aio_fsync      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(313)
 #define        __NR_aio_return     VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(314)
 #define        __NR_aio_suspend    VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(315)