diff options
author | rhyskidd <rhyskidd@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2015-07-24 10:23:34 +0000 |
---|---|---|
committer | rhyskidd <rhyskidd@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2015-07-24 10:23:34 +0000 |
commit | 1abd1f3175976036acb3710fe70fb1c9113f4517 (patch) | |
tree | 51cfd3d6be647d90b86e43518482abdd760cddcc /coregrind/m_syswrap | |
parent | a18a5282938fa0ca4fde9a0df4a1c437a6e78270 (diff) | |
download | valgrind-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.h | 47 | ||||
-rw-r--r-- | coregrind/m_syswrap/syswrap-darwin.c | 166 |
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 |