aboutsummaryrefslogtreecommitdiff
path: root/coregrind/m_syswrap
diff options
context:
space:
mode:
authorrhyskidd <rhyskidd@a5019735-40e9-0310-863c-91ae7b9d1cf9>2015-07-24 10:23:34 +0000
committerrhyskidd <rhyskidd@a5019735-40e9-0310-863c-91ae7b9d1cf9>2015-07-24 10:23:34 +0000
commit1abd1f3175976036acb3710fe70fb1c9113f4517 (patch)
tree51cfd3d6be647d90b86e43518482abdd760cddcc /coregrind/m_syswrap
parenta18a5282938fa0ca4fde9a0df4a1c437a6e78270 (diff)
downloadvalgrind-1abd1f3175976036acb3710fe70fb1c9113f4517.tar.gz
Fix valgrind 3.9.0 build fails on Mac OS X 10.6.8
bz#327745 Patch by Mark H <mh8928@yahoo.com> git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15444 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'coregrind/m_syswrap')
-rw-r--r--coregrind/m_syswrap/priv_syswrap-darwin.h47
-rw-r--r--coregrind/m_syswrap/syswrap-darwin.c166
2 files changed, 125 insertions, 88 deletions
diff --git a/coregrind/m_syswrap/priv_syswrap-darwin.h b/coregrind/m_syswrap/priv_syswrap-darwin.h
index 3cf868e8e..bae30d315 100644
--- a/coregrind/m_syswrap/priv_syswrap-darwin.h
+++ b/coregrind/m_syswrap/priv_syswrap-darwin.h
@@ -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
diff --git a/coregrind/m_syswrap/syswrap-darwin.c b/coregrind/m_syswrap/syswrap-darwin.c
index b957b049f..d109d8a38 100644
--- a/coregrind/m_syswrap/syswrap-darwin.c
+++ b/coregrind/m_syswrap/syswrap-darwin.c
@@ -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