Mega-merge of my last 2 weeks hacking. This basically does the groundwork
for pthread_* support. Major changes:
* Valgrind now contains a (skeletal!) user-space pthreads
implementation. The exciting bits are in new file vg_scheduler.c.
This contains thread management and scheduling, including nasty crud
to do with making some syscalls (read,write,nanosleep) nonblocking.
Also implementation of pthread_ functions: create join
mutex_{create,destroy,lock,unlock} and cancel.
* As a side effect of the above, major improvements to signal handling
and to the client-request machinery. This is now used to intercept
malloc/free etc too; the hacky way this is done before is gone.
Another side effect is that vg_dispatch.S is greatly simplified.
Also, the horrible hacks to do with delivering signals to threads
blocked in syscalls are gone, since the new mechanisms cover this case
easily.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@52 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/valgrind.in b/coregrind/valgrind.in
index 0b566c9..bc45940 100755
--- a/coregrind/valgrind.in
+++ b/coregrind/valgrind.in
@@ -164,8 +164,10 @@
VG_ARGS="$VALGRIND_OPTS $vgsupp $vgopts"
export VG_ARGS
-LD_PRELOAD=$VALGRIND/valgrind.so:$LD_PRELOAD
+LD_LIBRARY_PATH=$VALGRIND:$LD_LIBRARY_PATH
+export LD_LIBRARY_PATH
+LD_PRELOAD=valgrind.so:$LD_PRELOAD
export LD_PRELOAD
+#LD_DEBUG=files
+#export LD_DEBUG
exec $argopts
-
-