Openembedded Core Discussions
 help / color / mirror / Atom feed
* [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

* 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

* 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