Merge in changes from the 2.4.0 line. This basically brings in the
overhaul of the thread support. Many things are now probably broken,
but at least with --tool=none, simple and not-so-simple threaded and
non-thread programs work.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3265 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
index 06b46f6..be3d5da 100644
--- a/coregrind/Makefile.am
+++ b/coregrind/Makefile.am
@@ -10,7 +10,7 @@
AM_CPPFLAGS += -DVG_LIBDIR="\"$(valdir)"\" -I$(srcdir)/demangle \
-DKICKSTART_BASE=@KICKSTART_BASE@ \
-DVG_PLATFORM="\"$(VG_PLATFORM)"\"
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -g @ARCH_CORE_AM_CFLAGS@
+AM_CFLAGS = $(WERROR) -Wmissing-prototypes -Winline -Wall -Wshadow -O -g @ARCH_CORE_AM_CFLAGS@
AM_CFLAGS += -fno-omit-frame-pointer
default.supp: $(SUPP_FILES)
@@ -20,7 +20,6 @@
val_PROGRAMS = \
stage2 \
- libpthread.so \
vg_inject.so
noinst_LIBRARIES = lib_replace_malloc.a
@@ -34,12 +33,12 @@
vg_toolint.h
EXTRA_DIST = \
- vg_libpthread.vs valgrind.vs \
+ valgrind.vs \
gen_toolint.pl toolfuncs.def \
- gen_intercepts.pl vg_replace_malloc.c.base vg_intercept.c.base
+ gen_intercepts.pl vg_replace_malloc.c.base
BUILT_SOURCES = vg_toolint.c vg_toolint.h
-CLEANFILES = vg_toolint.c vg_toolint.h vg_replace_malloc.c vg_intercept.c
+CLEANFILES = vg_toolint.c vg_toolint.h vg_replace_malloc.c
valgrind_SOURCES = \
ume.c \
@@ -67,10 +66,12 @@
vg_mylibc.c \
vg_needs.c \
vg_procselfmaps.c \
- vg_proxylwp.c \
vg_dummy_profile.c \
vg_signals.c \
vg_symtab2.c \
+ vg_threadmodel.c \
+ vg_pthreadmodel.c \
+ vg_redir.c \
vg_dwarf.c \
vg_stabs.c \
vg_skiplist.c \
@@ -111,10 +112,6 @@
stage2_LDADD= $(stage2_extra) -ldl
-vg_intercept.c: $(srcdir)/gen_intercepts.pl $(srcdir)/vg_intercept.c.base
- rm -f $@
- $(PERL) $(srcdir)/gen_intercepts.pl < $(srcdir)/vg_intercept.c.base > $@
-
vg_replace_malloc.c: $(srcdir)/gen_intercepts.pl $(srcdir)/vg_replace_malloc.c.base
rm -f $@
$(PERL) $(srcdir)/gen_intercepts.pl < $(srcdir)/vg_replace_malloc.c.base > $@
@@ -132,22 +129,9 @@
$(PERL) $(srcdir)/gen_toolint.pl proto < $(srcdir)/toolfuncs.def > $@ || rm -f $@
$(PERL) $(srcdir)/gen_toolint.pl struct < $(srcdir)/toolfuncs.def >> $@ || rm -f $@
-libpthread_so_SOURCES = \
- vg_libpthread.c \
- vg_libpthread_unimp.c \
- ${VG_ARCH}/libpthread.c \
- ${VG_PLATFORM}/syscall.S
-libpthread_so_DEPENDENCIES = $(srcdir)/vg_libpthread.vs
-libpthread_so_CFLAGS = $(AM_CFLAGS) -fpic -fno-omit-frame-pointer
-libpthread_so_LDFLAGS = -Werror -fno-omit-frame-pointer -UVG_LIBDIR \
- -shared -ldl \
- -Wl,-version-script $(srcdir)/vg_libpthread.vs \
- -Wl,-z,nodelete \
- -Wl,--soname=libpthread.so.0
-
-vg_inject_so_SOURCES = \
- vg_intercept.c
+vg_inject_so_SOURCES = vg_intercept.c
vg_inject_so_CFLAGS = $(AM_CFLAGS) -fpic
+vg_inject_so_LDADD = -ldl
vg_inject_so_LDFLAGS = \
-shared \
-Wl,--soname,vg_inject.so \
@@ -156,12 +140,12 @@
lib_replace_malloc_a_SOURCES = vg_replace_malloc.c
lib_replace_malloc_a_CFLAGS = $(AM_CFLAGS) -fpic -fno-omit-frame-pointer
-MANUAL_DEPS = $(noinst_HEADERS) $(include_HEADERS) $(inplacedir)/libpthread.so.0
+MANUAL_DEPS = $(noinst_HEADERS) $(include_HEADERS)
all-local:
mkdir -p $(inplacedir)
for i in $(val_PROGRAMS); do \
- to=$(inplacedir)/$$(echo $$i | sed 's,libpthread.so,libpthread.so.0,'); \
+ to=$(inplacedir)/$$i; \
rm -f $$$to; \
ln -sf ../$(subdir)/$$i $$to; \
done