summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch48
-rw-r--r--meta/recipes-devtools/valgrind/valgrind_3.16.1.bb1
2 files changed, 49 insertions, 0 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch b/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch
new file mode 100644
index 0000000000..37f6ea667d
--- /dev/null
+++ b/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch
@@ -0,0 +1,48 @@
1From 15330adf7c2471fbaa6a0818db07078d81dbff97 Mon Sep 17 00:00:00 2001
2From: Bart Van Assche <bvanassche@acm.org>
3Date: Sat, 19 Sep 2020 08:08:59 -0700
4Subject: [PATCH] drd: Port to Fedora 33
5
6Apparently on Fedora 33 the POSIX thread functions exist in both libc and
7libpthread. Hence this patch that intercepts the pthread functions in
8libc. See also https://bugs.kde.org/show_bug.cgi?id=426144 .
9
10Signed-off-by: Bart Van Assche <bvanassche@acm.org>
11
12This patch was imported from the valgrind sourceware server
13(https://sourceware.org/git/?p=valgrind.git;a=commit;h=15330adf7c2471fbaa6a0818db07078d81dbff97)
14It was modified to remove the changes to the valgrind NEWS file,
15as these are difficult to maintain and don't impact the valgrind
16code itself.
17
18Upstream-Status: Backport
19
20Signed-off-by: Stacy Gaikovaia <stacy.gaikovaia@windriver.com>
21---
22 drd/drd_pthread_intercepts.c | 9 +++++++++
23 1 file changed, 10 insertions(+)
24
25diff --git a/drd/drd_pthread_intercepts.c b/drd/drd_pthread_intercepts.c
26index 58c45aaec..c2882e5ab 100644
27--- a/drd/drd_pthread_intercepts.c
28+++ b/drd/drd_pthread_intercepts.c
29@@ -174,7 +174,16 @@ static int never_true;
30 ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl \
31 { return implf argl; }
32 #else
33+/*
34+ * On Linux, intercept both the libc and the libpthread functions. At
35+ * least glibc 2.32.9000 (Fedora 34) has an implementation of all pthread
36+ * functions in both libc and libpthread. Older glibc versions only have an
37+ * implementation of the pthread functions in libpthread.
38+ */
39 #define PTH_FUNC(ret_ty, zf, implf, argl_decl, argl) \
40+ ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl; \
41+ ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl \
42+ { return implf argl; } \
43 ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl; \
44 ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl \
45 { return implf argl; }
46--
472.25.1
48
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb b/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb
index d4ca1a7752..7508098b55 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb
@@ -40,6 +40,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
40 file://s390x_vec_op_t.patch \ 40 file://s390x_vec_op_t.patch \
41 file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ 41 file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \
42 file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ 42 file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \
43 file://0001-drd-Port-to-Fedora-33.patch \
43 " 44 "
44SRC_URI[md5sum] = "d1b153f1ab17cf1f311705e7a83ef589" 45SRC_URI[md5sum] = "d1b153f1ab17cf1f311705e7a83ef589"
45SRC_URI[sha256sum] = "c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca" 46SRC_URI[sha256sum] = "c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca"