Message ID | 20240212220501.3571864-2-Randy.MacLeod@windriver.com |
---|---|
State | Accepted, archived |
Commit | a04c7714e9f69b7a3fc36adecf7e55c0fcfaa891 |
Headers | show |
Series | [1/3] valgrind: make ptest depend on all components | expand |
Thanks, my run with clang/musl with this patchset, I guess, it needs a little more investigation tput: No value for $TERM and no -T specified 'drd/tests/sem_as_mutex', 'drd/tests/sem_as_mutex2', 'drd/tests/sem_as_mutex3', 'drd/tests/sem_open', 'drd/tests/sem_open2', 'drd/tests/sem_open3', 'drd/tests/sem_open_traced', 'drd/tests/shared_timed_mutex', 'drd/tests/sigalrm', 'drd/tests/std_atomic', 'drd/tests/std_list', 'drd/tests/std_mutex', 'drd/tests/std_string', 'drd/tests/std_thread', 'drd/tests/tc01_simple_race', 'drd/tests/tc02_simple_tls', 'drd/tests/tc03_re_excl', 'drd/tests/tc05_simple_race', 'drd/tests/tc06_two_races', 'drd/tests/tc07_hbl1', 'drd/tests/tc08_hbl2', 'drd/tests/tc09_bad_unlock', 'drd/tests/tc11_XCHG', 'drd/tests/tc16_byterace', 'drd/tests/tc17_sembar', 'drd/tests/tc19_shadowmem', 'drd/tests/tc21_pthonce', 'drd/tests/tc22_exit_w_lock', 'drd/tests/tc23_bogus_condwait', 'drd/tests/tc24_nonzero_sem', 'drd/tests/thrd_create', 'drd/tests/thread_name', 'drd/tests/threaded-fork-vcs', 'drd/tests/threaded-fork', 'drd/tests/timed_mutex', 'drd/tests/tls_threads', 'massif/tests/pages_as_heap', 'dhat/tests/copy', 'none/tests/amd64/bug132918', 'none/tests/amd64/fcmovnu', 'none/tests/amd64/fxtract', 'none/tests/amd64/sse4-64', 'none/tests/amd64/x87trigOOR', 'none/tests/exec-sigmask', 'none/tests/linux/brk-overflow1', 'none/tests/linux/brk-overflow2', 'none/tests/linux/clonev', 'none/tests/linux/mremap', 'none/tests/rcrl', 'none/tests/require-text-symbol-2', 'none/tests/resolv', 'none/tests/thread-exits', 'none/tests/unit_debuglog']} On Mon, Feb 12, 2024 at 2:05 PM <Randy.MacLeod@windriver.com> wrote: > > From: Randy MacLeod <Randy.MacLeod@windriver.com> > > 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> > --- > ...ions-static-to-avoid-assembler-error.patch | 182 ------------------ > ...opcode-not-supported-on-mips32-linux.patch | 82 -------- > ...inux-seg_override.c-add-missing-incl.patch | 30 --- > ...ntext-APIs-are-not-available-on-musl.patch | 92 --------- > ...{valgrind_3.21.0.bb => valgrind_3.22.0.bb} | 6 +- > 5 files changed, 1 insertion(+), 391 deletions(-) > delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-Make-local-functions-static-to-avoid-assembler-error.patch > delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-fix-opcode-not-supported-on-mips32-linux.patch > delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch > delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0002-context-APIs-are-not-available-on-musl.patch > rename meta/recipes-devtools/valgrind/{valgrind_3.21.0.bb => valgrind_3.22.0.bb} (96%) > > 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 > - > diff --git a/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb > similarity index 96% > rename from meta/recipes-devtools/valgrind/valgrind_3.21.0.bb > rename to meta/recipes-devtools/valgrind/valgrind_3.22.0.bb > index 0903008e61..dc00edb24e 100644 > --- a/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb > +++ b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb > @@ -25,10 +25,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ > file://valgrind-make-ld-XXX.so-strlen-intercept-optional.patch \ > file://0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch \ > file://0001-sigqueue-Rename-_sifields-to-__si_fields-on-musl.patch \ > - file://0002-context-APIs-are-not-available-on-musl.patch \ > file://0003-correct-include-directive-path-for-config.h.patch \ > - file://0001-fix-opcode-not-supported-on-mips32-linux.patch \ > - file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \ > file://0001-Return-a-valid-exit_code-from-vg_regtest.patch \ > file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \ > file://0001-memcheck-vgtests-remove-fullpath-after-flags.patch \ > @@ -36,9 +33,8 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ > file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ > file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ > file://0001-docs-Disable-manual-validation.patch \ > - file://0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch \ > " > -SRC_URI[sha256sum] = "10ce1618bb3e33fad16eb79552b0a3e1211762448a0d7fce11c8a6243b9ac971" > +SRC_URI[sha256sum] = "c811db5add2c5f729944caf47c4e7a65dcaabb9461e472b578765dd7bf6d2d4c" > UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar" > > COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' > -- > 2.43.0 >
On 2024-02-12 9:40 p.m., Khem Raj wrote: > Thanks, my run with clang/musl with this patchset, I guess, it needs a > little more investigation Sure but this shouldn't hold up testing the upgrade in oe-core. I had tested TCLIBC=musl already and it worked fine. I tried adding meta-clang (and meta-oe for something else) and adding: TOOLCHAIN = "clang" TCLIBC="musl" but I get some error about: run-postinsts-1.0-r0 do_create_spdx: Cannot find any SPDX file for recipe initscripts, False sstate:initscripts:core2-64-poky-linux:1.0:r0:core2-64:11: sstate:initscripts::1.0:r0::1 which I'm not going to debug today. I limited clang to only valgrind using: TOOLCHAIN:pn-valgrind = "clang" in conf/local.conf and confirm that that made valgrind use clang by looking at: tmp/work/core2-64-poky-linux-musl/valgrind/3.22.0/temp/log.do_compile x86_64-poky-linux-musl-clang ... and then boot using: runqemu kvm nographic qemuparams="-m 1024" # ptest-runner valgrind | tee vg.log I get the valgrind ptest logs (1), but the ptests terminate before completion with errors along the way. I'll try again with more memory but there was no evidence of the OOM killer. ../Randy 1) Poky (Yocto Project Reference Distro) 4.3+snapshot-da4826a59f929edb3b4470bc72a4066704751157 qemux86-64 ttyS0 qemux86-64 login: root root@qemux86-64:~# ptest-runner valgrind | tee vg.log START: ptest-runner 2024-02-13T23:14 BEGIN: /usr/lib/valgrind/ptest Hide valgrind tests that are non-deterministic Reported at https://bugs.kde.org/show_bug.cgi?id=430321 Run non-deterministic tests using taskset to limit them to a single core. FAIL: helgrind/tests/hg05_race2 FAIL: helgrind/tests/tc09_bad_unlock SKIP: gdbserver_tests/hgtls FAIL: gdbserver_tests/mcblocklistsearch timed out FAIL: gdbserver_tests/mcbreak FAIL: gdbserver_tests/mcclean_after_fork PASS: gdbserver_tests/mchelp FAIL: gdbserver_tests/mcinfcallRU timed out FAIL: gdbserver_tests/mcinfcallWSRU PASS: gdbserver_tests/mcinvokeRU PASS: gdbserver_tests/mcinvokeWS FAIL: gdbserver_tests/mcleak FAIL: gdbserver_tests/mcmain_pic FAIL: gdbserver_tests/mcsignopass FAIL: gdbserver_tests/mcsigpass timed out ... FAIL: helgrind/tests/tc17_sembar FAIL: helgrind/tests/tc18_semabuse FAIL: helgrind/tests/tc19_shadowmem FAIL: helgrind/tests/tc20_verifywrap FAIL: helgrind/tests/tc21_pthonce FAIL: helgrind/tests/tc22_exit_w_lock FAIL: helgrind/tests/tc23_bogus_condwait FAIL: helgrind/tests/tc24_nonzero_sem FAIL: helgrind/tests/tls_threads2 FAIL: helgrind/tests/trylock Error: could not find the program /usr/bin/getconf. Please install the glibc-common package. FAIL: drd/tests/annotate_barrier Error: could not find the program /usr/bin/getconf. Please install the glibc-common package. FAIL: drd/tests/annotate_hb_err Error: could not find the program /usr/bin/getconf. Please install the glibc-common package. ... PASS: none/tests/tls FAIL: none/tests/unit_debuglog FAIL: none/tests/vgprintf PASS: none/tests/vgprintf_nvalgrind PASS: exp-bbv/tests/amd64-linux/clone_test PASS: exp-bbv/tests/amd64-linux/complex_rep PASS: exp-bbv/tests/amd64-linux/fldcw_check PASS: exp-bbv/tests/amd64-linux/ll PASS: exp-bbv/tests/amd64-linux/million PASS: exp-bbv/tests/amd64-linux/rep_prefix [ 0.000000] Linux version 6.6.15-yocto-standard (oe-user@oe-host) (x86_64-poky-linux-musl-gcc (GCC) 13.2.0, GNU ld (GNU Binutils) 2.42.0.20240202) #1 SMP PREEMPT_DYNAMIC Sun Feb 4 12:104 [ 0.000000] Command line: root=/dev/vda rw ip=192.168.7.14::192.168.7.13:255.255.255.0::eth0:off:8.8.8.8 net.ifnames=0 console=ttyS0 console=ttyS1 oprofile.timer=1 tsc=reliable no_timer [ 0.000000] BIOS-provided physical RAM map: \ ... [ 1.005334] Run /sbin/init as init process [ 1.005885] with arguments: [ 1.005887] /sbin/init [ 1.005889] with environment: [ 1.005890] HOME=/ [ 1.005892] TERM=linux [ 1.090654] udevd[124]: starting version 3.2.14 [ 1.100909] udevd[125]: starting eudev-3.2.14 [ 1.105003] usb 2-2: new high-speed USB device number 3 using ehci-pci [ 1.239928] input: QEMU QEMU USB Keyboard as /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/0003:0627:0001.0002/input/input2 [ 1.294299] hid-generic 0003:0627:0001.0002: input: USB HID v1.11 Keyboard [QEMU QEMU USB Keyboard] on usb-0000:00:1d.7-2/input0 [ 1.368109] EXT4-fs (vda): re-mounted 99e7cf17-6791-422c-8cc5-b8e817178616 r/w. Quota mode: disabled. [ 536.890724] memcheck-amd64-[12380]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set init |-getty 38400 tty1 |-rsyslogd | `-4*[{rsyslogd}] |-start_getty /bin/start_getty 115200 ttyS0 vt102 | `-sh | |-ptest-runner valgrind | | |-ptest-runner-co /usr/bin/ptest-runner-collect-system-data | | | `-pstree -a -l | | `-(run-ptest) | `-tee vg.log |-start_getty /bin/start_getty 115200 ttyS1 vt102 | `-getty -L 115200 ttyS1 vt102 |-udevd -d |-vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcinfcallWSRU | `-{vgdb} `-vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-mcvabits `-{vgdb} Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 39491304 411732 36940204 2% / devtmpfs 496688 0 496688 0% /dev tmpfs 498832 124 498708 1% /run tmpfs 498832 200 498632 1% /var/volatile total used free shared buff/cache available Mem: 997664 61724 787800 356 168580 935940 Swap: 0 0 0 ERROR: Exited from signal Killed (9) DURATION: 1339 TIMEOUT: /usr/lib/valgrind/ptest END: /usr/lib/valgrind/ptest 2024-02-13T23:36 STOP: ptest-runner TOTAL: 1 FAIL: 2 Nothing in /var/log/messages. > > tput: No value for $TERM and no -T specified > 'drd/tests/sem_as_mutex', > 'drd/tests/sem_as_mutex2', > 'drd/tests/sem_as_mutex3', > ... > 'drd/tests/threaded-fork-vcs', > 'drd/tests/threaded-fork', > 'drd/tests/timed_mutex', > 'drd/tests/tls_threads', > 'massif/tests/pages_as_heap', > 'dhat/tests/copy', > 'none/tests/amd64/bug132918', > 'none/tests/amd64/fcmovnu', > 'none/tests/amd64/fxtract', > 'none/tests/amd64/sse4-64', > 'none/tests/amd64/x87trigOOR', > 'none/tests/exec-sigmask', > 'none/tests/linux/brk-overflow1', > 'none/tests/linux/brk-overflow2', > 'none/tests/linux/clonev', > 'none/tests/linux/mremap', > 'none/tests/rcrl', > 'none/tests/require-text-symbol-2', > 'none/tests/resolv', > 'none/tests/thread-exits', > 'none/tests/unit_debuglog']}
On 2024-02-13 7:23 p.m., Randy MacLeod wrote: > > runqemu kvm nographic qemuparams="-m 1024" > > # ptest-runner valgrind | tee vg.log > > I get the valgrind ptest logs (1), but the ptests terminate before > completion > with errors along the way. > > I'll try again with more memory but there was no evidence of the OOM > killer. > > ../Randy > FYI: Same error with: -m 2048.
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 - diff --git a/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb similarity index 96% rename from meta/recipes-devtools/valgrind/valgrind_3.21.0.bb rename to meta/recipes-devtools/valgrind/valgrind_3.22.0.bb index 0903008e61..dc00edb24e 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb @@ -25,10 +25,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ file://valgrind-make-ld-XXX.so-strlen-intercept-optional.patch \ file://0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch \ file://0001-sigqueue-Rename-_sifields-to-__si_fields-on-musl.patch \ - file://0002-context-APIs-are-not-available-on-musl.patch \ file://0003-correct-include-directive-path-for-config.h.patch \ - file://0001-fix-opcode-not-supported-on-mips32-linux.patch \ - file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \ file://0001-Return-a-valid-exit_code-from-vg_regtest.patch \ file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \ file://0001-memcheck-vgtests-remove-fullpath-after-flags.patch \ @@ -36,9 +33,8 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ file://0001-docs-Disable-manual-validation.patch \ - file://0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch \ " -SRC_URI[sha256sum] = "10ce1618bb3e33fad16eb79552b0a3e1211762448a0d7fce11c8a6243b9ac971" +SRC_URI[sha256sum] = "c811db5add2c5f729944caf47c4e7a65dcaabb9461e472b578765dd7bf6d2d4c" UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar" COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux'