* [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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox