diff options
Diffstat (limited to 'devel/valgrind-snapshot/files/patch-coregrind-vg_proxylwp.c')
| -rw-r--r-- | devel/valgrind-snapshot/files/patch-coregrind-vg_proxylwp.c | 48 |
1 files changed, 46 insertions, 2 deletions
diff --git a/devel/valgrind-snapshot/files/patch-coregrind-vg_proxylwp.c b/devel/valgrind-snapshot/files/patch-coregrind-vg_proxylwp.c index 21354e263c44..26164824e953 100644 --- a/devel/valgrind-snapshot/files/patch-coregrind-vg_proxylwp.c +++ b/devel/valgrind-snapshot/files/patch-coregrind-vg_proxylwp.c @@ -1,5 +1,5 @@ ---- coregrind/vg_proxylwp.c.orig Thu Dec 9 20:02:58 2004 -+++ coregrind/vg_proxylwp.c Thu Dec 9 20:03:16 2004 +--- coregrind/vg_proxylwp.c.orig Sat Jul 17 13:46:01 2004 ++++ coregrind/vg_proxylwp.c Mon Nov 7 19:33:19 2005 @@ -30,6 +30,7 @@ @@ -8,3 +8,47 @@ #ifndef UMTX_CONTESTED # if __FreeBSD_version < 502120 +@@ -595,7 +596,7 @@ + Int ret = 1000; + static const vki_kstack_t ss = { .ss_flags = VKI_SS_DISABLE }; + +-#if __FreeBSD__ == 5 ++#if __FreeBSD__ >= 5 + VG_(do_syscall)(__NR__umtx_lock, &px->mutex); + px->mutex.u_owner |= UMTX_CONTESTED; + VG_(do_syscall)(__NR_thr_self, &px->lwp); +@@ -943,7 +944,7 @@ + + px->exitcode = ret; + +-#if __FreeBSD__ == 5 ++#if __FreeBSD__ >= 5 + ret = VG_(do_syscall)(__NR__umtx_unlock, &px->mutex); + if (use_rfork) + VG_(do_syscall)(__NR_exit, 0); +@@ -1098,14 +1099,14 @@ + extern Int VG_(rfork_thread)(Int, void*, void*, void*); + ret = VG_(rfork_thread)(VKI_RFPROC | VKI_RFMEM | VKI_RFSIGSHARE + | VKI_RFTHREAD +-#if __FreeBSD__ == 5 ++#if __FreeBSD__ >= 5 + | VKI_RFNOWAIT + #endif + , + LWP_stack(proxy), proxylwp, proxy); + VG_(do_signal_routing) = True; + } else { +-#if __FreeBSD__ == 5 ++#if __FreeBSD__ >= 5 + vki_ucontext_t ctx; + extern void makecontext(vki_ucontext_t*, ...); + +@@ -1169,7 +1170,7 @@ + } + } + #endif +-#if __FreeBSD__ == 5 ++#if __FreeBSD__ >= 5 + if (block) { + if(proxy->lwp != 0) + VG_(do_syscall)(__NR__umtx_lock, &proxy->mutex); |
