diff options
Diffstat (limited to 'poky/meta/recipes-devtools/valgrind')
3 files changed, 81 insertions, 0 deletions
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch new file mode 100644 index 000000000..37f6ea667 --- /dev/null +++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch @@ -0,0 +1,48 @@ +From 15330adf7c2471fbaa6a0818db07078d81dbff97 Mon Sep 17 00:00:00 2001 +From: Bart Van Assche <bvanassche@acm.org> +Date: Sat, 19 Sep 2020 08:08:59 -0700 +Subject: [PATCH] drd: Port to Fedora 33 + +Apparently on Fedora 33 the POSIX thread functions exist in both libc and +libpthread. Hence this patch that intercepts the pthread functions in +libc. See also https://bugs.kde.org/show_bug.cgi?id=426144 . + +Signed-off-by: Bart Van Assche <bvanassche@acm.org> + +This patch was imported from the valgrind sourceware server +(https://sourceware.org/git/?p=valgrind.git;a=commit;h=15330adf7c2471fbaa6a0818db07078d81dbff97) +It was modified to remove the changes to the valgrind NEWS file, +as these are difficult to maintain and don't impact the valgrind +code itself. + +Upstream-Status: Backport + +Signed-off-by: Stacy Gaikovaia <stacy.gaikovaia@windriver.com> +--- + drd/drd_pthread_intercepts.c | 9 +++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/drd/drd_pthread_intercepts.c b/drd/drd_pthread_intercepts.c +index 58c45aaec..c2882e5ab 100644 +--- a/drd/drd_pthread_intercepts.c ++++ b/drd/drd_pthread_intercepts.c +@@ -174,7 +174,16 @@ static int never_true; + ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl \ + { return implf argl; } + #else ++/* ++ * On Linux, intercept both the libc and the libpthread functions. At ++ * least glibc 2.32.9000 (Fedora 34) has an implementation of all pthread ++ * functions in both libc and libpthread. Older glibc versions only have an ++ * implementation of the pthread functions in libpthread. ++ */ + #define PTH_FUNC(ret_ty, zf, implf, argl_decl, argl) \ ++ ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl; \ ++ ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl \ ++ { return implf argl; } \ + ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl; \ + ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl \ + { return implf argl; } +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-musl-fix.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-musl-fix.patch new file mode 100644 index 000000000..e96bf3c61 --- /dev/null +++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-musl-fix.patch @@ -0,0 +1,31 @@ +The changes in 0001-drd-Port-to-Fedora-33.patch break builds on musl. These +need a __GLIBC__ guard to ensure musl builds continue to work. + +Upstream-Status: Pending +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: valgrind-3.16.1/drd/drd_pthread_intercepts.c +=================================================================== +--- valgrind-3.16.1.orig/drd/drd_pthread_intercepts.c ++++ valgrind-3.16.1/drd/drd_pthread_intercepts.c +@@ -180,6 +180,7 @@ static int never_true; + * functions in both libc and libpthread. Older glibc versions only have an + * implementation of the pthread functions in libpthread. + */ ++#ifdef __GLIBC__ + #define PTH_FUNC(ret_ty, zf, implf, argl_decl, argl) \ + ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl; \ + ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl \ +@@ -187,6 +188,12 @@ static int never_true; + ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl; \ + ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl \ + { return implf argl; } ++#else ++#define PTH_FUNC(ret_ty, zf, implf, argl_decl, argl) \ ++ ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl; \ ++ ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl \ ++ { return implf argl; } ++#endif + #endif + + /** diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb index d4ca1a775..bcba55f32 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb +++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb @@ -40,6 +40,8 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ file://s390x_vec_op_t.patch \ file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ + file://0001-drd-Port-to-Fedora-33.patch \ + file://0001-drd-musl-fix.patch \ " SRC_URI[md5sum] = "d1b153f1ab17cf1f311705e7a83ef589" SRC_URI[sha256sum] = "c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca" |