* [RFC 1/5] valgrind: make ptest depend on all components
@ 2023-11-09 1:25 Randy.MacLeod
2023-11-09 1:25 ` [RFC 2/5] valgrind: update from 3.21.0 to 3.22.0 Randy.MacLeod
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Randy.MacLeod @ 2023-11-09 1:25 UTC (permalink / raw)
To: openembedded-core; +Cc: alex.kanavin
From: Randy MacLeod <Randy.MacLeod@windriver.com>
When the helper scripts were split into separate packages, they
weren't added as ptest dependencies. Fix that.
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
meta/recipes-devtools/valgrind/valgrind_3.21.0.bb | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb
index 68ab319a1b..a2feda6aae 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb
@@ -139,7 +139,9 @@ RDEPENDS:${PN}-ptest += " bash coreutils curl file \
perl-module-overloading perl-module-cwd perl-module-ipc-open3 \
perl-module-carp perl-module-symbol \
procps sed ${PN}-dbg ${PN}-src ${TCLIBC}-src gcc-runtime-dbg \
- util-linux-taskset"
+ util-linux-taskset \
+ ${PN}-cachegrind ${PN}-massif ${PN}-callgrind \
+"
RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-gconv-utf-32"
# One of the tests contains a bogus interpreter path on purpose.
--
2.42.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [RFC 2/5] valgrind: update from 3.21.0 to 3.22.0 2023-11-09 1:25 [RFC 1/5] valgrind: make ptest depend on all components Randy.MacLeod @ 2023-11-09 1:25 ` Randy.MacLeod 2023-11-09 1:25 ` [RFC 3/5] valgrind: drop context API musl patch Randy.MacLeod ` (4 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: Randy.MacLeod @ 2023-11-09 1:25 UTC (permalink / raw) To: openembedded-core; +Cc: alex.kanavin 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 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> --- ...inux-seg_override.c-add-missing-incl.patch | 30 ------------------- ...{valgrind_3.21.0.bb => valgrind_3.22.0.bb} | 3 +- 2 files changed, 1 insertion(+), 32 deletions(-) delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch rename meta/recipes-devtools/valgrind/{valgrind_3.21.0.bb => valgrind_3.22.0.bb} (98%) 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_3.21.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb similarity index 98% rename from meta/recipes-devtools/valgrind/valgrind_3.21.0.bb rename to meta/recipes-devtools/valgrind/valgrind_3.22.0.bb index a2feda6aae..6dcd028075 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb @@ -36,9 +36,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.42.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [RFC 3/5] valgrind: drop context API musl patch 2023-11-09 1:25 [RFC 1/5] valgrind: make ptest depend on all components Randy.MacLeod 2023-11-09 1:25 ` [RFC 2/5] valgrind: update from 3.21.0 to 3.22.0 Randy.MacLeod @ 2023-11-09 1:25 ` Randy.MacLeod 2023-11-09 1:25 ` [RFC 4/5] valgrind: drop mips32 opcode patch Randy.MacLeod ` (3 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: Randy.MacLeod @ 2023-11-09 1:25 UTC (permalink / raw) To: openembedded-core; +Cc: alex.kanavin From: Randy MacLeod <Randy.MacLeod@windriver.com> 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 resutls.: Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> --- ...ntext-APIs-are-not-available-on-musl.patch | 92 ------------------- .../valgrind/valgrind_3.22.0.bb | 1 - 2 files changed, 93 deletions(-) delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0002-context-APIs-are-not-available-on-musl.patch 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.22.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb index 6dcd028075..0ebf08eb28 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb @@ -25,7 +25,6 @@ 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 \ -- 2.42.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [RFC 4/5] valgrind: drop mips32 opcode patch 2023-11-09 1:25 [RFC 1/5] valgrind: make ptest depend on all components Randy.MacLeod 2023-11-09 1:25 ` [RFC 2/5] valgrind: update from 3.21.0 to 3.22.0 Randy.MacLeod 2023-11-09 1:25 ` [RFC 3/5] valgrind: drop context API musl patch Randy.MacLeod @ 2023-11-09 1:25 ` Randy.MacLeod 2023-11-09 1:25 ` [RFC 5/5] valgrind: drop Make-local-function-static patch Randy.MacLeod ` (2 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: Randy.MacLeod @ 2023-11-09 1:25 UTC (permalink / raw) To: openembedded-core; +Cc: alex.kanavin From: Randy MacLeod <Randy.MacLeod@windriver.com> 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 Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> --- ...opcode-not-supported-on-mips32-linux.patch | 82 ------------------- .../valgrind/valgrind_3.22.0.bb | 1 - 2 files changed, 83 deletions(-) delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-fix-opcode-not-supported-on-mips32-linux.patch 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_3.22.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb index 0ebf08eb28..c3c1bc0b2c 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb @@ -26,7 +26,6 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ 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://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 \ -- 2.42.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [RFC 5/5] valgrind: drop Make-local-function-static patch 2023-11-09 1:25 [RFC 1/5] valgrind: make ptest depend on all components Randy.MacLeod ` (2 preceding siblings ...) 2023-11-09 1:25 ` [RFC 4/5] valgrind: drop mips32 opcode patch Randy.MacLeod @ 2023-11-09 1:25 ` Randy.MacLeod [not found] ` <1795D005CB9AFA17.15940@lists.openembedded.org> [not found] ` <1795D005D4290C63.6123@lists.openembedded.org> 5 siblings, 0 replies; 7+ messages in thread From: Randy.MacLeod @ 2023-11-09 1:25 UTC (permalink / raw) To: openembedded-core; +Cc: alex.kanavin From: Randy MacLeod <Randy.MacLeod@windriver.com> 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 Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> --- ...ions-static-to-avoid-assembler-error.patch | 182 ------------------ .../valgrind/valgrind_3.22.0.bb | 1 - 2 files changed, 183 deletions(-) delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-Make-local-functions-static-to-avoid-assembler-error.patch 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_3.22.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb index c3c1bc0b2c..2d846cedc4 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb @@ -26,7 +26,6 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ 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://0003-correct-include-directive-path-for-config.h.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 \ -- 2.42.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <1795D005CB9AFA17.15940@lists.openembedded.org>]
* Re: [OE-core] [RFC 2/5] valgrind: update from 3.21.0 to 3.22.0 [not found] ` <1795D005CB9AFA17.15940@lists.openembedded.org> @ 2023-11-09 1:31 ` Randy MacLeod 0 siblings, 0 replies; 7+ messages in thread From: Randy MacLeod @ 2023-11-09 1:31 UTC (permalink / raw) To: openembedded-core; +Cc: alex.kanavin [-- Attachment #1: Type: text/plain, Size: 5288 bytes --] On 2023-11-08 8:25 p.m., Randy MacLeod via lists.openembedded.org 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 > > Ptest Resutls for qemux86-64/kvm > > glibc: > === Test Summary === > TOTAL: 792 > PASSED: 759 > FAILED: 14 I haven't checked but I think these are 14 *new* ptest failures so we shouldn't merge until they are fixed. The tests that fail are: root@qemux86-64:/usr/lib/valgrind/ptest# grep FAIL valgrind_ptest_20231109-001351.log FAIL: memcheck/tests/linux/dlclose_leak-no-keep FAIL: memcheck/tests/linux/dlclose_leak FAIL: memcheck/tests/wrap1 FAIL: memcheck/tests/wrap2 FAIL: memcheck/tests/wrap3 FAIL: memcheck/tests/wrap4 FAIL: memcheck/tests/wrap5 FAIL: memcheck/tests/wrap6 FAIL: memcheck/tests/wrap7 FAIL: memcheck/tests/wrap8 FAIL: cachegrind/tests/wrap5 FAIL: massif/tests/bug469146 FAIL: massif/tests/new-cpp FAIL: massif/tests/overloaded-new I may not get time to work on them any more this week so I'm sending the update in case anyone (Alex!) wants to take a look. ../Rnady > SKIPPED: 19 > > musl: > === Test Summary === > TOTAL: 792 > PASSED: 559 > FAILED: 211 > SKIPPED: 22 > > Signed-off-by: Randy MacLeod<Randy.MacLeod@windriver.com> > --- > ...inux-seg_override.c-add-missing-incl.patch | 30 ------------------- > ...{valgrind_3.21.0.bb => valgrind_3.22.0.bb} | 3 +- > 2 files changed, 1 insertion(+), 32 deletions(-) > delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch > rename meta/recipes-devtools/valgrind/{valgrind_3.21.0.bb => valgrind_3.22.0.bb} (98%) > > 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_3.21.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb > similarity index 98% > rename from meta/recipes-devtools/valgrind/valgrind_3.21.0.bb > rename to meta/recipes-devtools/valgrind/valgrind_3.22.0.bb > index a2feda6aae..6dcd028075 100644 > --- a/meta/recipes-devtools/valgrind/valgrind_3.21.0.bb > +++ b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb > @@ -36,9 +36,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' > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#190369):https://lists.openembedded.org/g/openembedded-core/message/190369 > Mute This Topic:https://lists.openembedded.org/mt/102477899/3616765 > Group Owner:openembedded-core+owner@lists.openembedded.org > Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub [randy.macleod@windriver.com] > -=-=-=-=-=-=-=-=-=-=-=- > -- # Randy MacLeod # Wind River Linux [-- Attachment #2: Type: text/html, Size: 7571 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <1795D005D4290C63.6123@lists.openembedded.org>]
* Re: [OE-core] [RFC 3/5] valgrind: drop context API musl patch [not found] ` <1795D005D4290C63.6123@lists.openembedded.org> @ 2023-11-09 1:39 ` Randy MacLeod 0 siblings, 0 replies; 7+ messages in thread From: Randy MacLeod @ 2023-11-09 1:39 UTC (permalink / raw) To: openembedded-core; +Cc: alex.kanavin [-- Attachment #1: Type: text/plain, Size: 5911 bytes --] On 2023-11-08 8:25 p.m., Randy MacLeod via lists.openembedded.org wrote: > From: Randy MacLeod<Randy.MacLeod@windriver.com> > > Drop 002-context-APIs-are-not-available-on-musl.patch I tested the update to 3.22 including ptests and then did a careful review of the patches so that's why these 'drop' commits come after the recipe update commit. Strangely enough, the build/ptest results didn't change as I dropped each patch since upstream took a different approach to each problem and the patches were simply not required. I _could_ squash all these 'drop' commits into the recipe update but I prefer to do them one at a time. ../Randy > 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 resutls.: > > Signed-off-by: Randy MacLeod<Randy.MacLeod@windriver.com> > --- > ...ntext-APIs-are-not-available-on-musl.patch | 92 ------------------- > .../valgrind/valgrind_3.22.0.bb | 1 - > 2 files changed, 93 deletions(-) > delete mode 100644 meta/recipes-devtools/valgrind/valgrind/0002-context-APIs-are-not-available-on-musl.patch > > 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.22.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb > index 6dcd028075..0ebf08eb28 100644 > --- a/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb > +++ b/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb > @@ -25,7 +25,6 @@ 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 \ > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#190370):https://lists.openembedded.org/g/openembedded-core/message/190370 > Mute This Topic:https://lists.openembedded.org/mt/102477900/3616765 > Group Owner:openembedded-core+owner@lists.openembedded.org > Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub [randy.macleod@windriver.com] > -=-=-=-=-=-=-=-=-=-=-=- > -- # Randy MacLeod # Wind River Linux [-- Attachment #2: Type: text/html, Size: 8529 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-11-09 1:40 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-09 1:25 [RFC 1/5] valgrind: make ptest depend on all components Randy.MacLeod
2023-11-09 1:25 ` [RFC 2/5] valgrind: update from 3.21.0 to 3.22.0 Randy.MacLeod
2023-11-09 1:25 ` [RFC 3/5] valgrind: drop context API musl patch Randy.MacLeod
2023-11-09 1:25 ` [RFC 4/5] valgrind: drop mips32 opcode patch Randy.MacLeod
2023-11-09 1:25 ` [RFC 5/5] valgrind: drop Make-local-function-static patch Randy.MacLeod
[not found] ` <1795D005CB9AFA17.15940@lists.openembedded.org>
2023-11-09 1:31 ` [OE-core] [RFC 2/5] valgrind: update from 3.21.0 to 3.22.0 Randy MacLeod
[not found] ` <1795D005D4290C63.6123@lists.openembedded.org>
2023-11-09 1:39 ` [OE-core] [RFC 3/5] valgrind: drop context API musl patch Randy MacLeod
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.