summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/valgrind/valgrind
diff options
context:
space:
mode:
authorRandy MacLeod <Randy.MacLeod@windriver.com>2024-02-12 14:05:00 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-02-15 21:30:11 +0000
commita04c7714e9f69b7a3fc36adecf7e55c0fcfaa891 (patch)
tree565e99843057cbdf73179a1cf69bc0cbcc798e70 /meta/recipes-devtools/valgrind/valgrind
parent81c15142889ccb6cc2f2a00e7cdb92bcb36ca12c (diff)
downloadopenembedded-core-contrib-a04c7714e9f69b7a3fc36adecf7e55c0fcfaa891.tar.gz
valgrind: update from 3.21.0 to 3.22.0
Full release notes: https://valgrind.org/docs/manual/dist.news.html In summary, there is a new configure option: --with-gdbscripts-dir that lets you install the gdb valgrind python monitor scripts in a specific location. It's not used in the valgrind recipe yet. Also, there were a few Memcheck and Cachegrind improvements made and many bugs fixed. The update required removing the patch: 0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch as it's dealt with by these commits: f7e4bb4af Bug 382034 - Testcases build fixes for musl 306232d40 musl: another fix for building testcases as described on: https://bugs.kde.org/show_bug.cgi?id=382034 Drop: 002-context-APIs-are-not-available-on-musl.patch since this is handled in a different way by the following upstream commits: c9e88f345 configure, drd: Only build the swapcontext test if swapcontext() is available 7cd4d7816 memcheck/tests/linux/stack_changes: Only run this test if setcontext() is available And the that tracked the error: https://bugs.kde.org/show_bug.cgi?id=434775 is closed. No regression in musl qemux86-64/kvm ptest results. Drop: 0001-fix-opcode-not-supported-on-mips32-linux.patch The resolved (works for me) upstream defect rejected this patch: https://bugs.kde.org/show_bug.cgi?id=396905 and suggested using CFLAGS="-mips32". With this patch dropped, the qemumips build succeeds perhaps due to using -march=mips32r2 Drop: 0001-Make-local-functions-static-to-avoid-assembler-error.patch since this was fixed upstream by commit: d6da48fe5 mips: use local labels for do_acasW() Confirmed with: MACHINE=qemumips TCLIBC=musl bitbake valgrind Ptest Resutls for qemux86-64/kvm glibc: === Test Summary === TOTAL: 792 PASSED: 759 FAILED: 14 SKIPPED: 19 musl: === Test Summary === TOTAL: 792 PASSED: 559 FAILED: 211 SKIPPED: 22 Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/valgrind/valgrind')
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-Make-local-functions-static-to-avoid-assembler-error.patch182
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-fix-opcode-not-supported-on-mips32-linux.patch82
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch30
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0002-context-APIs-are-not-available-on-musl.patch92
4 files changed, 0 insertions, 386 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-Make-local-functions-static-to-avoid-assembler-error.patch b/meta/recipes-devtools/valgrind/valgrind/0001-Make-local-functions-static-to-avoid-assembler-error.patch
deleted file mode 100644
index 8d2ca5733e..0000000000
--- a/meta/recipes-devtools/valgrind/valgrind/0001-Make-local-functions-static-to-avoid-assembler-error.patch
+++ /dev/null
@@ -1,182 +0,0 @@
-From 2155c1b2cf00e744e280c493eb74bf457dfcc3b1 Mon Sep 17 00:00:00 2001
-From: Randy MacLeod <Randy.MacLeod@windriver.com>
-Date: Sun, 21 Oct 2018 15:09:31 -0400
-Subject: [PATCH] Make local functions static to avoid assembler error
-
-Avoid mips32 x-compiler warnings such as:
-
-| ../../../valgrind-3.14.0/helgrind/tests/annotate_hbefore.c:360:6: warning: no previous prototype for 'do_signal' [-Wmissing-prototypes]
-| void do_signal ( UWord* w )
-| ^~~~~~~~~
-
-by making functions and global variables that are file scope be static
-and more importantly also avoid an assembler error:
-
-/tmp/cce22iiw.s: Assembler messages:
-/tmp/cce22iiw.s:446: Error: symbol `exit_0' is already defined
-/tmp/cce22iiw.s:448: Error: symbol `exit' is already defined
-/tmp/cce22iiw.s:915: Error: symbol `exit_0' is already defined
-/tmp/cce22iiw.s:917: Error: symbol `exit' is already defined
-
-Upstream-Status: Submitted https://bugs.kde.org/show_bug.cgi?id=400164
-
-Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
----
- helgrind/tests/annotate_hbefore.c | 34 +++++++++++++++----------------
- 1 file changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/helgrind/tests/annotate_hbefore.c b/helgrind/tests/annotate_hbefore.c
-index e311714f7..f55514e45 100644
---- a/helgrind/tests/annotate_hbefore.c
-+++ b/helgrind/tests/annotate_hbefore.c
-@@ -24,7 +24,7 @@ typedef unsigned long int UWord;
-
- // ppc64
- /* return 1 if success, 0 if failure */
--UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-+static UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
- {
- UWord old, success;
-
-@@ -57,7 +57,7 @@ UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-
- // ppc32
- /* return 1 if success, 0 if failure */
--UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-+static UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
- {
- UWord old, success;
-
-@@ -90,7 +90,7 @@ UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-
- // amd64
- /* return 1 if success, 0 if failure */
--UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-+static UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
- {
- UWord block[4] = { (UWord)addr, expected, nyu, 2 };
- __asm__ __volatile__(
-@@ -113,7 +113,7 @@ UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-
- // x86
- /* return 1 if success, 0 if failure */
--UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-+static UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
- {
- UWord block[4] = { (UWord)addr, expected, nyu, 2 };
- __asm__ __volatile__(
-@@ -138,7 +138,7 @@ UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-
- // arm
- /* return 1 if success, 0 if failure */
--UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-+static UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
- {
- UWord old, success;
- UWord block[2] = { (UWord)addr, nyu };
-@@ -171,7 +171,7 @@ UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-
- // arm64
- /* return 1 if success, 0 if failure */
--UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-+static UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
- {
- UWord old, success;
- UWord block[2] = { (UWord)addr, nyu };
-@@ -204,7 +204,7 @@ UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-
- // s390x
- /* return 1 if success, 0 if failure */
--UWord do_acasW(UWord* addr, UWord expected, UWord nyu )
-+static UWord do_acasW(UWord* addr, UWord expected, UWord nyu )
- {
- int cc;
-
-@@ -223,7 +223,7 @@ UWord do_acasW(UWord* addr, UWord expected, UWord nyu )
-
- // mips32
- /* return 1 if success, 0 if failure */
--UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-+static UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
- {
- UWord success;
- UWord block[3] = { (UWord)addr, nyu, expected};
-@@ -256,7 +256,7 @@ UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-
- // mips64
- /* return 1 if success, 0 if failure */
--UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-+static UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
- {
- UWord success;
- UWord block[3] = { (UWord)addr, nyu, expected};
-@@ -287,7 +287,7 @@ UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
-
- #endif
-
--void atomic_incW ( UWord* w )
-+static void atomic_incW ( UWord* w )
- {
- while (1) {
- UWord old = *w;
-@@ -301,7 +301,7 @@ void atomic_incW ( UWord* w )
-
- #define NNN 1000000
-
--void* thread_fn ( void* arg )
-+static void* thread_fn ( void* arg )
- {
- UWord* w = (UWord*)arg;
- int i;
-@@ -331,10 +331,10 @@ int main ( void )
-
- #endif
-
--int shared_var = 0; // is not raced upon
-+static int shared_var = 0; // is not raced upon
-
-
--void delayXms ( int i )
-+static void delayXms ( int i )
- {
- struct timespec ts = { 0, 1 * 1000 * 1000 };
- // We do the sleep in small pieces to have scheduling
-@@ -348,7 +348,7 @@ void delayXms ( int i )
- }
- }
-
--void do_wait ( UWord* w )
-+static void do_wait ( UWord* w )
- {
- UWord w0 = *w;
- UWord volatile * wV = w;
-@@ -357,7 +357,7 @@ void do_wait ( UWord* w )
- ANNOTATE_HAPPENS_AFTER(w);
- }
-
--void do_signal ( UWord* w )
-+static void do_signal ( UWord* w )
- {
- ANNOTATE_HAPPENS_BEFORE(w);
- atomic_incW(w);
-@@ -365,7 +365,7 @@ void do_signal ( UWord* w )
-
-
-
--void* thread_fn1 ( void* arg )
-+static void* thread_fn1 ( void* arg )
- {
- UWord* w = (UWord*)arg;
- delayXms(500); // ensure t2 gets to its wait first
-@@ -376,7 +376,7 @@ void* thread_fn1 ( void* arg )
- return NULL;
- }
-
--void* thread_fn2 ( void* arg )
-+static void* thread_fn2 ( void* arg )
- {
- UWord* w = (UWord*)arg;
- do_wait(w); // wait for h-b edge from first thread
---
-2.17.0
-
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-fix-opcode-not-supported-on-mips32-linux.patch b/meta/recipes-devtools/valgrind/valgrind/0001-fix-opcode-not-supported-on-mips32-linux.patch
deleted file mode 100644
index 39b624d9f6..0000000000
--- a/meta/recipes-devtools/valgrind/valgrind/0001-fix-opcode-not-supported-on-mips32-linux.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From fb5362f205b37c5060fcd764a7ed393abe4f2f3d Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 27 Jul 2018 17:39:37 +0800
-Subject: [PATCH 1/2] fix opcode not supported on mips32-linux
-
-While build tests(`make check') on mips32-linux, there are
-serial failures such as:
-[snip]
-| mips-wrsmllib32-linux-gcc -meb -mabi=32 -mhard-float -c
--o atomic_incs-atomic_incs.o `test -f 'atomic_incs.c' || echo
-'../../../valgrind-3.13.0/memcheck/tests/'`atomic_incs.c
-| /tmp/ccqrmINN.s: Assembler messages:
-| /tmp/ccqrmINN.s:247: Error: opcode not supported on this
-processor: mips1 (mips1) `ll $t3,0($t1)'
-| /tmp/ccqrmINN.s:249: Error: opcode not supported on this
-processor: mips1 (mips1) `sc $t3,0($t1)'
-[snip]
-
-Since the following commit applied, it defines CLFAGS for mips32,
-but missed to pass them to tests which caused the above failure
-...
-3e344c57f Merge in a port for mips32-linux
-...
-
-Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=396905]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- helgrind/tests/Makefile.am | 5 +++++
- memcheck/tests/Makefile.am | 5 +++++
- none/tests/mips32/Makefile.am | 4 ++++
- 3 files changed, 14 insertions(+)
-
-diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am
-index ad1af191a..6209d35a7 100644
---- a/helgrind/tests/Makefile.am
-+++ b/helgrind/tests/Makefile.am
-@@ -214,6 +214,11 @@ check_PROGRAMS += annotate_rwlock
- endif
-
- AM_CFLAGS += $(AM_FLAG_M3264_PRI)
-+
-+if VGCONF_PLATFORMS_INCLUDE_MIPS32_LINUX
-+AM_CFLAGS += $(AM_CFLAGS_MIPS32_LINUX)
-+endif
-+
- AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
-
- LDADD = -lpthread
-diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am
-index 84e49405f..aff861a32 100644
---- a/memcheck/tests/Makefile.am
-+++ b/memcheck/tests/Makefile.am
-@@ -443,6 +443,11 @@ check_PROGRAMS += reach_thread_register
- endif
-
- AM_CFLAGS += $(AM_FLAG_M3264_PRI)
-+
-+if VGCONF_PLATFORMS_INCLUDE_MIPS32_LINUX
-+AM_CFLAGS += $(AM_CFLAGS_MIPS32_LINUX)
-+endif
-+
- AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
-
- if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
-diff --git a/none/tests/mips32/Makefile.am b/none/tests/mips32/Makefile.am
-index d11591d45..602cd26f6 100644
---- a/none/tests/mips32/Makefile.am
-+++ b/none/tests/mips32/Makefile.am
-@@ -99,6 +99,10 @@ check_PROGRAMS = \
- round_fpu64 \
- fpu_branches
-
-+if VGCONF_PLATFORMS_INCLUDE_MIPS32_LINUX
-+AM_CFLAGS += $(AM_CFLAGS_MIPS32_LINUX)
-+endif
-+
- AM_CFLAGS += @FLAG_M32@
- AM_CXXFLAGS += @FLAG_M32@
- AM_CCASFLAGS += @FLAG_M32@
---
-2.17.1
-
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch b/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch
deleted file mode 100644
index 5e36c28523..0000000000
--- a/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 978d9ed7f857f2cdcd2a8632f3c2feb56b99c825 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Mon, 8 May 2023 11:56:35 +0200
-Subject: [PATCH] none/tests/x86-linux/seg_override.c: add missing include for
- musl builds
-
-Otherwise SYS_modify_ldt is undefined.
-
-Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=382034]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-
----
- none/tests/x86-linux/seg_override.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/none/tests/x86-linux/seg_override.c b/none/tests/x86-linux/seg_override.c
-index ca8fbfe..4ef4394 100644
---- a/none/tests/x86-linux/seg_override.c
-+++ b/none/tests/x86-linux/seg_override.c
-@@ -3,6 +3,10 @@
- #include <errno.h>
- #include <string.h>
- #include "../../../config.h"
-+#if defined(MUSL_LIBC)
-+#include <syscall.h>
-+#include <unistd.h>
-+#endif
-
-
- /* Stuff from Wine. */
diff --git a/meta/recipes-devtools/valgrind/valgrind/0002-context-APIs-are-not-available-on-musl.patch b/meta/recipes-devtools/valgrind/valgrind/0002-context-APIs-are-not-available-on-musl.patch
deleted file mode 100644
index 7f0e38cb95..0000000000
--- a/meta/recipes-devtools/valgrind/valgrind/0002-context-APIs-are-not-available-on-musl.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 26c104adf6c5162572b7aa2fac89d0835b7f8f0b Mon Sep 17 00:00:00 2001
-From: Randy MacLeod <Randy.MacLeod@windriver.com>
-Date: Tue, 16 Oct 2018 21:27:46 -0400
-Subject: [PATCH] context APIs are not available on musl
-
-Updated patch for valgrind-3.14
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
-
-Apply same patch to drd/tests/swapcontext.c
-for valgrind-3.17.
-
-Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=434775]
-
-Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
----
- drd/tests/swapcontext.c | 6 ++++++
- memcheck/tests/linux/stack_changes.c | 7 ++++++-
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/drd/tests/swapcontext.c b/drd/tests/swapcontext.c
-index 622c70bc5..5e72bb0f3 100644
---- a/drd/tests/swapcontext.c
-+++ b/drd/tests/swapcontext.c
-@@ -20,6 +20,7 @@
-
- #define STACKSIZE (PTHREAD_STACK_MIN + 4096)
-
-+#ifdef __GLIBC__
- typedef struct thread_local {
- ucontext_t uc[3];
- size_t nrsw;
-@@ -67,9 +68,11 @@ void *worker(void *data)
- swapcontext(&tlocal->uc[0], &tlocal->uc[1]);
- return NULL;
- }
-+#endif
-
- int main(int argc, char *argv[])
- {
-+#ifdef __GLIBC__
- enum { NR = 32 };
- thread_local_t tlocal[NR];
- pthread_t thread[NR];
-@@ -94,6 +97,9 @@ int main(int argc, char *argv[])
-
- for (i = 0; i < NR; i++)
- pthread_join(thread[i], NULL);
-+#else
-+ printf("libc context call APIs e.g. getcontext() are deprecated by posix\n");
-+#endif
-
- return 0;
- }
-diff --git a/memcheck/tests/linux/stack_changes.c b/memcheck/tests/linux/stack_changes.c
-index 7f97b90a5..a26cb4ae6 100644
---- a/memcheck/tests/linux/stack_changes.c
-+++ b/memcheck/tests/linux/stack_changes.c
-@@ -10,6 +10,7 @@
- // This test is checking the libc context calls (setcontext, etc.) and
- // checks that Valgrind notices their stack changes properly.
-
-+#ifdef __GLIBC__
- typedef ucontext_t mycontext;
-
- mycontext ctx1, ctx2, oldc;
-@@ -51,9 +52,11 @@ int init_context(mycontext *uc)
-
- return ret;
- }
-+#endif
-
- int main(int argc, char **argv)
- {
-+#ifdef __GLIBC__
- int c1 = init_context(&ctx1);
- int c2 = init_context(&ctx2);
-
-@@ -66,6 +69,8 @@ int main(int argc, char **argv)
- //free(ctx1.uc_stack.ss_sp);
- VALGRIND_STACK_DEREGISTER(c2);
- //free(ctx2.uc_stack.ss_sp);
--
-+#else
-+ printf("libc context call APIs e.g. getcontext() are deprecated by posix\n");
-+#endif
- return 0;
- }
---
-2.17.1
-