aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2020-10-22 06:14:39 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2020-10-22 06:18:15 +0000
commitcd20c3c60433fd20b7e57723575a5944dc6ae42f (patch)
treeda16fa264e19c32e8cac30c0b4a8b2a00623236d
parent7ac7a24e508fc441b9db5fd490ecc6ca58b4eb38 (diff)
main/valgrind: add patch from gentoo
fixes valgrind behavior when /etc/ld-musl-$ARCH.path exists
-rw-r--r--main/valgrind/APKBUILD11
-rw-r--r--main/valgrind/valgrind-3.13.0-malloc.patch24
2 files changed, 30 insertions, 5 deletions
diff --git a/main/valgrind/APKBUILD b/main/valgrind/APKBUILD
index 84238c49b47..e4db1157166 100644
--- a/main/valgrind/APKBUILD
+++ b/main/valgrind/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=valgrind
pkgver=3.16.1
-pkgrel=0
+pkgrel=1
pkgdesc="A tool to help find memory-management problems in programs"
url="http://valgrind.org/"
arch="all"
@@ -17,11 +17,11 @@ options="!strip !check"
subpackages="$pkgname-dev $pkgname-doc"
source="ftp://sourceware.org/pub/$pkgname/$pkgname-$pkgver.tar.bz2
musl.supp
-
activate-musl-supp.patch
uclibc.patch
- arm.patch"
-# musl-fixes.patch
+ arm.patch
+ valgrind-3.13.0-malloc.patch
+ "
builddir="$srcdir"/$pkgname-$pkgver
prepare() {
@@ -77,4 +77,5 @@ sha512sums="2a4173efe1b6facdd2f5c5ee8ed006704168eba1813736fccc8191d60363afd96197
49df485f158a7f4d354b2ed0d46dcc691f0490f50913c83dabfdd513b47ef1045f140fd59f54b560df05e4f3a4aba63de7124553b396189fa3ac89c908831e45 musl.supp
09a992c39e755d92894f79cd95ed2a6e84daa3ac1af1fe8907ebb2c90dca27d224aae882389c2c246aff8a6bb7d8b9c57a6ca62bd7b36f6fb43e182471186821 activate-musl-supp.patch
d59a10db9037e120df2ee94a103402ca95a79abee9d8be63e4e1bca29c82dca775cc402a79b854ec11a2160a4d2da202c237369418e221d1925267ea2613fd5d uclibc.patch
-9ee297d1b2b86891584443ad0caadc4977e1447979611ccf1cc55dbee61911b0b063bc4ad936d86c451cedae410cb3219b5a088b2ad0aa17df182d564fe36cfe arm.patch"
+9ee297d1b2b86891584443ad0caadc4977e1447979611ccf1cc55dbee61911b0b063bc4ad936d86c451cedae410cb3219b5a088b2ad0aa17df182d564fe36cfe arm.patch
+57086a768f3876b26b0e507bc159a73f0955f03d5af8cc30e21103e348ca67f2e58b5555a5a97f299751c6602692ad43d8346bb68a80917d740fb4d65bba9665 valgrind-3.13.0-malloc.patch"
diff --git a/main/valgrind/valgrind-3.13.0-malloc.patch b/main/valgrind/valgrind-3.13.0-malloc.patch
new file mode 100644
index 00000000000..d0eb795b84b
--- /dev/null
+++ b/main/valgrind/valgrind-3.13.0-malloc.patch
@@ -0,0 +1,24 @@
+--- valgrind-3.13.0/coregrind/m_replacemalloc/vg_replace_malloc.c
++++ valgrind-3.13.0/coregrind/m_replacemalloc/vg_replace_malloc.c
+@@ -765,13 +765,15 @@ static void init(void);
+ DO_INIT; \
+ MALLOC_TRACE("realloc(%p,%llu)", ptrV, (ULong)new_size ); \
+ \
+- if (ptrV == NULL) \
+- /* We need to call a malloc-like function; so let's use \
+- one which we know exists. */ \
+- return VG_REPLACE_FUNCTION_EZU(10010,VG_Z_LIBC_SONAME,malloc) \
+- (new_size); \
++ if (ptrV == NULL) { \
++ TRIGGER_MEMCHECK_ERROR_IF_UNDEFINED(new_size); \
++ v = (void*)VALGRIND_NON_SIMD_CALL1( info.tl_malloc, new_size ); \
++ MALLOC_TRACE(" = %p\n", v ); \
++ return v; \
++ } \
+ if (new_size <= 0) { \
+- VG_REPLACE_FUNCTION_EZU(10050,VG_Z_LIBC_SONAME,free)(ptrV); \
++ if (ptrV != NULL) \
++ VALGRIND_NON_SIMD_CALL1( info.tl_free, ptrV ); \
+ MALLOC_TRACE(" = 0\n"); \
+ return NULL; \
+ } \