summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--make/valgrind.mk9
-rw-r--r--sources/valgrind.patch21
2 files changed, 26 insertions, 4 deletions
diff --git a/make/valgrind.mk b/make/valgrind.mk
index 13230d996..81b11b251 100644
--- a/make/valgrind.mk
+++ b/make/valgrind.mk
@@ -7,6 +7,7 @@
VALGRIND_SITE:=http://developer.kde.org/~sewardj
VALGRIND_DIR:=$(BUILD_DIR)/valgrind-1.0pre6
VALGRIND_SOURCE:=valgrind-1.0pre6.tar.bz2
+VALGRIND_PATCH:=$(SOURCE_DIR)/valgrind.patch
$(DL_DIR)/$(VALGRIND_SOURCE):
wget -P $(DL_DIR) --passive-ftp $(VALGRIND_SITE)/$(VALGRIND_SOURCE)
@@ -15,7 +16,11 @@ $(VALGRIND_DIR)/.unpacked: $(DL_DIR)/$(VALGRIND_SOURCE)
bzcat $(DL_DIR)/$(VALGRIND_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(VALGRIND_DIR)/.unpacked
-$(VALGRIND_DIR)/.configured: $(VALGRIND_DIR)/.unpacked
+$(VALGRIND_DIR)/.patched: $(VALGRIND_DIR)/.unpacked
+ cat $(VALGRIND_PATCH) | patch -d $(VALGRIND_DIR) -p1
+ touch $(VALGRIND_DIR)/.patched
+
+$(VALGRIND_DIR)/.configured: $(VALGRIND_DIR)/.patched
(cd $(VALGRIND_DIR); rm -rf config.cache; CC=$(TARGET_CC1) \
AR=$(TARGET_CROSS)ar NM=$(TARGET_CROSS)nm \
LD=$(TARGET_CROSS)ld AS=$(TARGET_CROSS)as \
@@ -28,7 +33,7 @@ $(VALGRIND_DIR)/.configured: $(VALGRIND_DIR)/.unpacked
$(VALGRIND_DIR)/valgrind: $(VALGRIND_DIR)/.configured
make CC=$(TARGET_CC1) -C $(VALGRIND_DIR)
- $(STRIP) $(VALGRIND_DIR)/valgrind
+ -$(STRIP) --strip-unneeded $(VALGRIND_DIR)/*.so*
$(TARGET_DIR)/usr/bin/valgrind: $(VALGRIND_DIR)/valgrind
make CC=$(TARGET_CC1) DESTDIR=$(TARGET_DIR) -C $(VALGRIND_DIR) install
diff --git a/sources/valgrind.patch b/sources/valgrind.patch
index 7f0b2a88a..2ce25255a 100644
--- a/sources/valgrind.patch
+++ b/sources/valgrind.patch
@@ -1,5 +1,5 @@
---- build/valgrind-1.0pre6.orig/vg_libpthread.c Sat Jul 13 06:59:27 2002
-+++ build/valgrind-1.0pre6/vg_libpthread.c Sat Jul 27 02:50:53 2002
+--- valgrind-1.0pre6.orig/vg_libpthread.c Sat Jul 13 06:59:27 2002
++++ valgrind-1.0pre6/vg_libpthread.c Sat Jul 27 02:50:53 2002
@@ -2821,6 +2821,7 @@
/* I've no idea what these are, but they get called quite a lot.
@@ -16,3 +16,20 @@
/* This doesn't seem to be needed to simulate libpthread.so's external
interface, but many people complain about its absence. */
+--- valgrind-1.0pre6.orig/vg_clientfuncs.c Mon Jul 15 19:44:21 2002
++++ valgrind-1.0pre6/vg_clientfuncs.c Sat Jul 27 02:59:33 2002
+@@ -560,12 +560,14 @@
+ void VG_(__libc_freeres_wrapper)( void )
+ {
+ int res;
++#ifndef __UCLIBC__
+ extern void __libc_freeres(void);
+ __libc_freeres();
+ VALGRIND_MAGIC_SEQUENCE(res, 0 /* default */,
+ VG_USERREQ__LIBC_FREERES_DONE, 0, 0, 0, 0);
+ /*NOTREACHED*/
+ vg_assert(12345+54321 == 999999);
++#endif
+ }
+
+