diff options
-rw-r--r-- | meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch | 48 | ||||
-rw-r--r-- | meta/recipes-devtools/valgrind/valgrind_3.16.1.bb | 1 |
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 @@ | |||
1 | From 15330adf7c2471fbaa6a0818db07078d81dbff97 Mon Sep 17 00:00:00 2001 | ||
2 | From: Bart Van Assche <bvanassche@acm.org> | ||
3 | Date: Sat, 19 Sep 2020 08:08:59 -0700 | ||
4 | Subject: [PATCH] drd: Port to Fedora 33 | ||
5 | |||
6 | Apparently on Fedora 33 the POSIX thread functions exist in both libc and | ||
7 | libpthread. Hence this patch that intercepts the pthread functions in | ||
8 | libc. See also https://bugs.kde.org/show_bug.cgi?id=426144 . | ||
9 | |||
10 | Signed-off-by: Bart Van Assche <bvanassche@acm.org> | ||
11 | |||
12 | This patch was imported from the valgrind sourceware server | ||
13 | (https://sourceware.org/git/?p=valgrind.git;a=commit;h=15330adf7c2471fbaa6a0818db07078d81dbff97) | ||
14 | It was modified to remove the changes to the valgrind NEWS file, | ||
15 | as these are difficult to maintain and don't impact the valgrind | ||
16 | code itself. | ||
17 | |||
18 | Upstream-Status: Backport | ||
19 | |||
20 | Signed-off-by: Stacy Gaikovaia <stacy.gaikovaia@windriver.com> | ||
21 | --- | ||
22 | drd/drd_pthread_intercepts.c | 9 +++++++++ | ||
23 | 1 file changed, 10 insertions(+) | ||
24 | |||
25 | diff --git a/drd/drd_pthread_intercepts.c b/drd/drd_pthread_intercepts.c | ||
26 | index 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 | -- | ||
47 | 2.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 | " |
44 | SRC_URI[md5sum] = "d1b153f1ab17cf1f311705e7a83ef589" | 45 | SRC_URI[md5sum] = "d1b153f1ab17cf1f311705e7a83ef589" |
45 | SRC_URI[sha256sum] = "c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca" | 46 | SRC_URI[sha256sum] = "c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca" |