diff options
| author | Yi Fan Yu <yifan.yu@windriver.com> | 2021-03-26 07:37:09 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-04-18 11:37:24 +0100 |
| commit | 70dcfaea5e820fa944cbaaf05013fd0883115d20 (patch) | |
| tree | 4ee74b8044d801749143ce203330bd8f66debe31 /meta/recipes-devtools | |
| parent | ea6c56ed8961ac4ff868d1b37a7a4cab8cae939d (diff) | |
| download | poky-70dcfaea5e820fa944cbaaf05013fd0883115d20.tar.gz | |
valgrind: update 3.16.1 -> 3.17.0
Notable changes:
* library is now in libexecdir instead of libdir
Added patches:
* Add musl.supp: missing musl.supp in 3.17.0
Dropped backport patches:
* nlcontrolc: found in c79180a3afcf65902e578646c3b716cc749db406
* drd Fedora33: found in 15330adf7c2471fbaa6a0818db07078d81dbff97
* lmw lswi ppc64le: found in 74b74174d572fee4015b8f4e326db3cd949bcdc3
Other dropped patches
* helgrind intercept: found in d2d54dbcc74244adfc0c80b40862edf2b82f53b9
* drd musl fix: found in d2d54dbcc74244adfc0c80b40862edf2b82f53b9
TESTING RESULTS:
qemux86-64:
FAIL: drd/tests/swapcontext
3.17.0 3.16.1
===================
TOTAL: 736 726
PASSED: 694 688
FAILED: 1 0
SKIPPED: 41 38
(From OE-Core rev: 7c8c04ad933be38a806da355158c1e13e2c1b84c)
Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
12 files changed, 165 insertions, 426 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-Add-missing-musl.supp.patch b/meta/recipes-devtools/valgrind/valgrind/0001-Add-missing-musl.supp.patch new file mode 100644 index 0000000000..2a73f7e81f --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/0001-Add-missing-musl.supp.patch | |||
| @@ -0,0 +1,72 @@ | |||
| 1 | From 61bc8664f93cd980831c9da4a3e8a385b089a0ab Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Yi Fan Yu <yifan.yu@windriver.com> | ||
| 3 | Date: Tue, 23 Mar 2021 09:32:22 -0700 | ||
| 4 | Subject: [PATCH] Add missing musl.supp | ||
| 5 | |||
| 6 | 3.17 did not ship musl.supp in the tarball. | ||
| 7 | |||
| 8 | This is a workaround until next release. | ||
| 9 | |||
| 10 | Upstream-Status: Backport [dde556d51f8226a6de564a00bf82536bb7042c54] | ||
| 11 | |||
| 12 | Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> | ||
| 13 | --- | ||
| 14 | musl.supp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ | ||
| 15 | 1 file changed, 46 insertions(+) | ||
| 16 | create mode 100644 musl.supp | ||
| 17 | |||
| 18 | diff --git a/musl.supp b/musl.supp | ||
| 19 | new file mode 100644 | ||
| 20 | index 000000000..864172a24 | ||
| 21 | --- /dev/null | ||
| 22 | +++ b/musl.supp | ||
| 23 | @@ -0,0 +1,46 @@ | ||
| 24 | +# Suppressions for musl libc | ||
| 25 | +# See: https://www.openwall.com/lists/musl/2017/06/15/4 | ||
| 26 | + | ||
| 27 | +{ | ||
| 28 | + musl-dynlink-false-positive1 | ||
| 29 | + Memcheck:Leak | ||
| 30 | + fun:calloc | ||
| 31 | + fun:load_direct_deps | ||
| 32 | + fun:load_deps | ||
| 33 | + fun:load_deps | ||
| 34 | + fun:__dls3 | ||
| 35 | + fun:__dls2b | ||
| 36 | + fun:__dls2 | ||
| 37 | +} | ||
| 38 | + | ||
| 39 | +{ | ||
| 40 | + musl-dynlink-false-positive2 | ||
| 41 | + Memcheck:Leak | ||
| 42 | + fun:calloc | ||
| 43 | + fun:load_direct_deps | ||
| 44 | + fun:load_deps | ||
| 45 | + fun:load_deps | ||
| 46 | + fun:__dls3 | ||
| 47 | + fun:__dls2 | ||
| 48 | +} | ||
| 49 | + | ||
| 50 | +{ | ||
| 51 | + musl-dynlink-false-positive3 | ||
| 52 | + Memcheck:Leak | ||
| 53 | + fun:calloc | ||
| 54 | + fun:load_library | ||
| 55 | + fun:load_preload | ||
| 56 | + fun:__dls3 | ||
| 57 | + fun:__dls2b | ||
| 58 | + fun:__dls2 | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +{ | ||
| 62 | + musl-dynlink-false-positive4 | ||
| 63 | + Memcheck:Leak | ||
| 64 | + fun:calloc | ||
| 65 | + fun:load_library | ||
| 66 | + fun:load_preload | ||
| 67 | + fun:__dls3 | ||
| 68 | + fun:__dls2 | ||
| 69 | +} | ||
| 70 | -- | ||
| 71 | 2.17.1 | ||
| 72 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch b/meta/recipes-devtools/valgrind/valgrind/0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch deleted file mode 100644 index 98cbcd132c..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch +++ /dev/null | |||
| @@ -1,200 +0,0 @@ | |||
| 1 | From 83c24e31df6932a6d4fced179050c6d8d8c6f3b5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Philippe Waroquiers <philippe.waroquiers@skynet.be> | ||
| 3 | Date: Sun, 7 Mar 2021 22:29:27 +0100 | ||
| 4 | Subject: [PATCH] Fix nlcontrolc.vgtest hanging on newer glibc and/or arm64 | ||
| 5 | |||
| 6 | This test verifies that GDB can interrupt a process with all threads | ||
| 7 | blocked in a long select syscall. | ||
| 8 | The test used to terminate by having GDB modifying the select argument. | ||
| 9 | However, modifying the select argument works only for specific arch | ||
| 10 | and/or specific versions of glibc. | ||
| 11 | The test then blocks on other architectures/glibc versions. | ||
| 12 | |||
| 13 | The previous version of the test was: | ||
| 14 | * first launching sleepers so as to have all threads blocked in long select | ||
| 15 | * interrupting these threads | ||
| 16 | * changing the select time arg so that the threads burn cpu | ||
| 17 | * and then change variables to have the program exit. | ||
| 18 | |||
| 19 | The new version does: | ||
| 20 | * first launches sleepers so that all threads are burning cpu. | ||
| 21 | * interrupting these threads | ||
| 22 | * change the local variables of sleepers so that the threads will | ||
| 23 | block in a long select syscall | ||
| 24 | * interrupt these threads | ||
| 25 | * kill the program. | ||
| 26 | |||
| 27 | With this new version, we still check the behaviour of gdb+vgdbserver | ||
| 28 | for both burning and sleep threads, but without having the termination | ||
| 29 | depending on modifying select syscall argument. | ||
| 30 | |||
| 31 | Tested on debian amd64 and on ubuntu arm64 (to check the test does not hang | ||
| 32 | on an arm64 platform). | ||
| 33 | |||
| 34 | Upstream-Status: Backport | ||
| 35 | |||
| 36 | From commit on master: | ||
| 37 | c79180a3afcf65902e578646c3b716cc749db406 | ||
| 38 | |||
| 39 | Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> | ||
| 40 | --- | ||
| 41 | gdbserver_tests/nlcontrolc.stderr.exp | 4 +- | ||
| 42 | gdbserver_tests/nlcontrolc.stdinB.gdb | 57 +++++++++++++++----------- | ||
| 43 | gdbserver_tests/nlcontrolc.stdoutB.exp | 25 ++++++----- | ||
| 44 | gdbserver_tests/nlcontrolc.vgtest | 12 +++--- | ||
| 45 | 4 files changed, 56 insertions(+), 42 deletions(-) | ||
| 46 | |||
| 47 | diff --git a/gdbserver_tests/nlcontrolc.stderr.exp b/gdbserver_tests/nlcontrolc.stderr.exp | ||
| 48 | index ac75bb3da..b63a9a988 100644 | ||
| 49 | --- a/gdbserver_tests/nlcontrolc.stderr.exp | ||
| 50 | +++ b/gdbserver_tests/nlcontrolc.stderr.exp | ||
| 51 | @@ -3,9 +3,9 @@ Nulgrind, the minimal Valgrind tool | ||
| 52 | (action at startup) vgdb me ... | ||
| 53 | |||
| 54 | |||
| 55 | -loops/sleep_ms/burn/threads_spec/affinity: 1000000000 1000000000 1000000000 BSBSBSBS 1 | ||
| 56 | +loops/sleep_ms/burn/threads_spec/affinity: 1000000000 0 100000 BSBSBSBS 1 | ||
| 57 | Brussels ready to sleep and/or burn | ||
| 58 | London ready to sleep and/or burn | ||
| 59 | Petaouchnok ready to sleep and/or burn | ||
| 60 | main ready to sleep and/or burn | ||
| 61 | - | ||
| 62 | +Gdb request to kill this process | ||
| 63 | diff --git a/gdbserver_tests/nlcontrolc.stdinB.gdb b/gdbserver_tests/nlcontrolc.stdinB.gdb | ||
| 64 | index 667ece18d..ea4fcd530 100644 | ||
| 65 | --- a/gdbserver_tests/nlcontrolc.stdinB.gdb | ||
| 66 | +++ b/gdbserver_tests/nlcontrolc.stdinB.gdb | ||
| 67 | @@ -9,32 +9,43 @@ shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-nlcontrolc 1 grep main nl | ||
| 68 | # | ||
| 69 | continue | ||
| 70 | # | ||
| 71 | -# Here, all tasks should be blocked in a loooonnnng select, all in WaitSys | ||
| 72 | -info threads | ||
| 73 | -# We will unblock them by changing their timeout argument | ||
| 74 | -# To avoid going into the frame where the timeval arg is, | ||
| 75 | -# it has been defined as global variables, as the nr | ||
| 76 | -# of calls on the stack differs between 32bits and 64bits, | ||
| 77 | -# and/or between OS. | ||
| 78 | -# ensure select finishes in a few milliseconds max: | ||
| 79 | -p t[0].tv_sec = 0 | ||
| 80 | -p t[1].tv_sec = 0 | ||
| 81 | -p t[2].tv_sec = 0 | ||
| 82 | -p t[3].tv_sec = 0 | ||
| 83 | -# | ||
| 84 | -# We will change the burning parameters in a few seconds | ||
| 85 | +# Threads are burning cpu now | ||
| 86 | +# We would like to fully test info threads here, but which thread are Runnable | ||
| 87 | +# or Yielding is unpredictable. With a recent enough gdb, check the nr of | ||
| 88 | +# threads by state using pipe commands and grep/wc. | ||
| 89 | +init-if-undefined $_gdb_major = 0 | ||
| 90 | +init-if-undefined $_gdb_minor = 0 | ||
| 91 | +if $_gdb_major >= 9 | ||
| 92 | + | info threads | grep VgTs_Runnable | wc -l | ||
| 93 | + | info threads | grep VgTs_Yielding | wc -l | ||
| 94 | +else | ||
| 95 | + echo 1\n | ||
| 96 | + echo 3\n | ||
| 97 | +end | ||
| 98 | +# We change the variables so that all the threads are blocked in a syscall | ||
| 99 | +p burn = 0 | ||
| 100 | +p sleepms = 1000000 | ||
| 101 | +# | ||
| 102 | +# | ||
| 103 | shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-nlcontrolc 1 grep changed nlcontrolc.stdoutB.out | ||
| 104 | # | ||
| 105 | -echo changed burning parameters\n | ||
| 106 | +echo changed burning parameters to sleeping parameters\n | ||
| 107 | continue | ||
| 108 | +# Here, all tasks should be blocked in a loooonnnng select, all in WaitSys | ||
| 109 | +info threads | ||
| 110 | +# We reset the sleepms to 0. The threads should still be blocked in the syscall | ||
| 111 | +p sleepms = 0 | ||
| 112 | +shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-nlcontrolc 1 grep reset nlcontrolc.stdoutB.out | ||
| 113 | # | ||
| 114 | -# Threads are burning cpu now | ||
| 115 | -# We would like to test info threads here, but which thread are Runnable or Yielding | ||
| 116 | -# is unpredictable. | ||
| 117 | -# info threads | ||
| 118 | -p burn = 0 | ||
| 119 | -p loops = 0 | ||
| 120 | -p report_finished = 0 | ||
| 121 | +echo reset to sleeping parameters\n | ||
| 122 | continue | ||
| 123 | -# and the process should stop very quickly now | ||
| 124 | +# threads should still be blocked in a loooonnnng select, all in WaitSys | ||
| 125 | +info threads | ||
| 126 | +if $_gdb_major >= 9 | ||
| 127 | + | info threads | grep VgTs_WaitSys | wc -l | ||
| 128 | +else | ||
| 129 | + echo 4\n | ||
| 130 | +end | ||
| 131 | +# Make the process die. | ||
| 132 | +kill | ||
| 133 | quit | ||
| 134 | diff --git a/gdbserver_tests/nlcontrolc.stdoutB.exp b/gdbserver_tests/nlcontrolc.stdoutB.exp | ||
| 135 | index e8a5ff8ba..2e8dc8498 100644 | ||
| 136 | --- a/gdbserver_tests/nlcontrolc.stdoutB.exp | ||
| 137 | +++ b/gdbserver_tests/nlcontrolc.stdoutB.exp | ||
| 138 | @@ -1,18 +1,21 @@ | ||
| 139 | Continuing. | ||
| 140 | Program received signal SIGTRAP, Trace/breakpoint trap. | ||
| 141 | +do_burn () at sleepers.c:41 | ||
| 142 | +41 for (i = 0; i < burn; i++) loopnr++; | ||
| 143 | + > > > > > >1 | ||
| 144 | +3 | ||
| 145 | +$1 = 0 | ||
| 146 | +$2 = 1000000 | ||
| 147 | +changed burning parameters to sleeping parameters | ||
| 148 | +Continuing. | ||
| 149 | +Program received signal SIGTRAP, Trace/breakpoint trap. | ||
| 150 | 0x........ in syscall ... | ||
| 151 | * 1 Thread .... (tid 1 VgTs_WaitSys) 0x........ in syscall ... | ||
| 152 | -$1 = 0 | ||
| 153 | -$2 = 0 | ||
| 154 | $3 = 0 | ||
| 155 | -$4 = 0 | ||
| 156 | -changed burning parameters | ||
| 157 | +reset to sleeping parameters | ||
| 158 | Continuing. | ||
| 159 | Program received signal SIGTRAP, Trace/breakpoint trap. | ||
| 160 | -do_burn () at sleepers.c:41 | ||
| 161 | -41 for (i = 0; i < burn; i++) loopnr++; | ||
| 162 | -$5 = 0 | ||
| 163 | -$6 = 0 | ||
| 164 | -$7 = 0 | ||
| 165 | -Continuing. | ||
| 166 | -Program exited normally. | ||
| 167 | +0x........ in syscall ... | ||
| 168 | +* 1 Thread .... (tid 1 VgTs_WaitSys) 0x........ in syscall ... | ||
| 169 | + > > > >4 | ||
| 170 | +Kill the program being debugged? (y or n) [answered Y; input not from terminal] | ||
| 171 | diff --git a/gdbserver_tests/nlcontrolc.vgtest b/gdbserver_tests/nlcontrolc.vgtest | ||
| 172 | index bb5308403..09edfcaba 100644 | ||
| 173 | --- a/gdbserver_tests/nlcontrolc.vgtest | ||
| 174 | +++ b/gdbserver_tests/nlcontrolc.vgtest | ||
| 175 | @@ -4,16 +4,16 @@ | ||
| 176 | # and modify some variables | ||
| 177 | # the user can control-c an process with all threads in Running/Yielding | ||
| 178 | # and modify some variables | ||
| 179 | -# sleepers is started with argument so that it will compute during ages. | ||
| 180 | -# The variable modifications means it will exit in a reasonable time. | ||
| 181 | -# This test is disabled on Solaris because modifying select/poll/ppoll timeout | ||
| 182 | -# has no effect if a thread is already blocked in that syscall. | ||
| 183 | +# sleepers is started so that it burns CPU. | ||
| 184 | +# We then interrupt the process. | ||
| 185 | +# We modify variables so that instead of burning cpu, sleepers blocks | ||
| 186 | +# all threads in a select syscall. | ||
| 187 | prog: sleepers | ||
| 188 | -args: 1000000000 1000000000 1000000000 BSBSBSBS 1 | ||
| 189 | +args: 1000000000 0 100000 BSBSBSBS 1 | ||
| 190 | vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlcontrolc | ||
| 191 | stderr_filter: filter_stderr | ||
| 192 | # Bug 338633 nlcontrol hangs on arm64 currently. | ||
| 193 | -prereq: test -e gdb -a -f vgdb.invoker && ! ../tests/arch_test arm64 && ! ../tests/os_test solaris | ||
| 194 | +prereq: test -e gdb -a -f vgdb.invoker && ! ../tests/os_test solaris | ||
| 195 | progB: gdb | ||
| 196 | argsB: --quiet -l 60 --nx ./sleepers | ||
| 197 | stdinB: nlcontrolc.stdinB.gdb | ||
| 198 | -- | ||
| 199 | 2.29.2 | ||
| 200 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch b/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch deleted file mode 100644 index 37f6ea667d..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch +++ /dev/null | |||
| @@ -1,48 +0,0 @@ | |||
| 1 | From 15330adf7c2471fbaa6a0818db07078d81dbff97 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Bart Van Assche <bvanassche@acm.org> | ||
| 3 | Date: Sat, 19 Sep 2020 08:08:59 -0700 | ||
| 4 | Subject: [PATCH] drd: Port to Fedora 33 | ||
| 5 | |||
| 6 | Apparently on Fedora 33 the POSIX thread functions exist in both libc and | ||
| 7 | libpthread. Hence this patch that intercepts the pthread functions in | ||
| 8 | libc. See also https://bugs.kde.org/show_bug.cgi?id=426144 . | ||
| 9 | |||
| 10 | Signed-off-by: Bart Van Assche <bvanassche@acm.org> | ||
| 11 | |||
| 12 | This patch was imported from the valgrind sourceware server | ||
| 13 | (https://sourceware.org/git/?p=valgrind.git;a=commit;h=15330adf7c2471fbaa6a0818db07078d81dbff97) | ||
| 14 | It was modified to remove the changes to the valgrind NEWS file, | ||
| 15 | as these are difficult to maintain and don't impact the valgrind | ||
| 16 | code itself. | ||
| 17 | |||
| 18 | Upstream-Status: Backport | ||
| 19 | |||
| 20 | Signed-off-by: Stacy Gaikovaia <stacy.gaikovaia@windriver.com> | ||
| 21 | --- | ||
| 22 | drd/drd_pthread_intercepts.c | 9 +++++++++ | ||
| 23 | 1 file changed, 10 insertions(+) | ||
| 24 | |||
| 25 | diff --git a/drd/drd_pthread_intercepts.c b/drd/drd_pthread_intercepts.c | ||
| 26 | index 58c45aaec..c2882e5ab 100644 | ||
| 27 | --- a/drd/drd_pthread_intercepts.c | ||
| 28 | +++ b/drd/drd_pthread_intercepts.c | ||
| 29 | @@ -174,7 +174,16 @@ static int never_true; | ||
| 30 | ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl \ | ||
| 31 | { return implf argl; } | ||
| 32 | #else | ||
| 33 | +/* | ||
| 34 | + * On Linux, intercept both the libc and the libpthread functions. At | ||
| 35 | + * least glibc 2.32.9000 (Fedora 34) has an implementation of all pthread | ||
| 36 | + * functions in both libc and libpthread. Older glibc versions only have an | ||
| 37 | + * implementation of the pthread functions in libpthread. | ||
| 38 | + */ | ||
| 39 | #define PTH_FUNC(ret_ty, zf, implf, argl_decl, argl) \ | ||
| 40 | + ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl; \ | ||
| 41 | + ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl \ | ||
| 42 | + { return implf argl; } \ | ||
| 43 | ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl; \ | ||
| 44 | ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl \ | ||
| 45 | { return implf argl; } | ||
| 46 | -- | ||
| 47 | 2.25.1 | ||
| 48 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-drd-musl-fix.patch b/meta/recipes-devtools/valgrind/valgrind/0001-drd-musl-fix.patch deleted file mode 100644 index e96bf3c611..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0001-drd-musl-fix.patch +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | The changes in 0001-drd-Port-to-Fedora-33.patch break builds on musl. These | ||
| 2 | need a __GLIBC__ guard to ensure musl builds continue to work. | ||
| 3 | |||
| 4 | Upstream-Status: Pending | ||
| 5 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
| 6 | |||
| 7 | Index: valgrind-3.16.1/drd/drd_pthread_intercepts.c | ||
| 8 | =================================================================== | ||
| 9 | --- valgrind-3.16.1.orig/drd/drd_pthread_intercepts.c | ||
| 10 | +++ valgrind-3.16.1/drd/drd_pthread_intercepts.c | ||
| 11 | @@ -180,6 +180,7 @@ static int never_true; | ||
| 12 | * functions in both libc and libpthread. Older glibc versions only have an | ||
| 13 | * implementation of the pthread functions in libpthread. | ||
| 14 | */ | ||
| 15 | +#ifdef __GLIBC__ | ||
| 16 | #define PTH_FUNC(ret_ty, zf, implf, argl_decl, argl) \ | ||
| 17 | ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl; \ | ||
| 18 | ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl \ | ||
| 19 | @@ -187,6 +188,12 @@ static int never_true; | ||
| 20 | ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl; \ | ||
| 21 | ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl \ | ||
| 22 | { return implf argl; } | ||
| 23 | +#else | ||
| 24 | +#define PTH_FUNC(ret_ty, zf, implf, argl_decl, argl) \ | ||
| 25 | + ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl; \ | ||
| 26 | + ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl \ | ||
| 27 | + { return implf argl; } | ||
| 28 | +#endif | ||
| 29 | #endif | ||
| 30 | |||
| 31 | /** | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch b/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch deleted file mode 100644 index f66df3d2d2..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch +++ /dev/null | |||
| @@ -1,54 +0,0 @@ | |||
| 1 | From cdec010444df5a4328e90d07a2024fdeefcc74b5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Paul Floyd <paulf@free.fr> | ||
| 3 | Date: Wed, 18 Nov 2020 12:49:20 -0400 | ||
| 4 | Subject: [PATCH] helgrind: Intercept libc functions | ||
| 5 | |||
| 6 | PTH_FUNC definition needs to be modified in order to | ||
| 7 | intercept posix thread functions in both libc and | ||
| 8 | libpthread. In order to handle this in helgrind, weak alias | ||
| 9 | the pthread functions in glibc. | ||
| 10 | |||
| 11 | Upstream-Status: Submitted | ||
| 12 | |||
| 13 | Signed-off-by: Paul Floyd <paulf@free.fr> | ||
| 14 | Signed-off-by: Stacy Gaikovaia <stacy.gaikovaia@windriver.com> | ||
| 15 | --- | ||
| 16 | helgrind/hg_intercepts.c | 12 ++++++++++++ | ||
| 17 | 1 file changed, 12 insertions(+) | ||
| 18 | |||
| 19 | diff --git a/helgrind/hg_intercepts.c b/helgrind/hg_intercepts.c | ||
| 20 | index a10c3a4a3..316140ca6 100644 | ||
| 21 | --- a/helgrind/hg_intercepts.c | ||
| 22 | +++ b/helgrind/hg_intercepts.c | ||
| 23 | @@ -77,6 +77,11 @@ | ||
| 24 | /*--- ---*/ | ||
| 25 | /*----------------------------------------------------------------*/ | ||
| 26 | |||
| 27 | +#define hg_expand(tok) #tok | ||
| 28 | +#define hg_str(tok) hg_expand(tok) | ||
| 29 | +# define hg_weak_alias(name, aliasname) \ | ||
| 30 | + extern __typeof (name) aliasname __attribute__ ((weak, alias(hg_str(name)))) | ||
| 31 | + | ||
| 32 | #if defined(VGO_solaris) | ||
| 33 | /* On Solaris, libpthread is just a filter library on top of libc. | ||
| 34 | * Threading and synchronization functions in runtime linker are not | ||
| 35 | @@ -91,9 +96,16 @@ | ||
| 36 | #define CREQ_PTHREAD_T Word | ||
| 37 | #define SEM_ERROR ret | ||
| 38 | #else | ||
| 39 | +#ifdef MUSL_LIBC | ||
| 40 | +#define PTH_FUNC(ret_ty, f, args...) \ | ||
| 41 | + ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args); \ | ||
| 42 | + ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args) | ||
| 43 | +#else | ||
| 44 | #define PTH_FUNC(ret_ty, f, args...) \ | ||
| 45 | ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args); \ | ||
| 46 | + hg_weak_alias(I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f), I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBC_SONAME,f)); \ | ||
| 47 | ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args) | ||
| 48 | +#endif | ||
| 49 | #define CREQ_PTHREAD_T pthread_t | ||
| 50 | #define SEM_ERROR errno | ||
| 51 | #endif /* VGO_solaris */ | ||
| 52 | -- | ||
| 53 | 2.17.1 | ||
| 54 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch b/meta/recipes-devtools/valgrind/valgrind/0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch deleted file mode 100644 index 7c62144978..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch +++ /dev/null | |||
| @@ -1,62 +0,0 @@ | |||
| 1 | From 0748ed5403a75c12ad9137b3fabf9d8397206ed8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mark Wielaard <mark@klomp.org> | ||
| 3 | Date: Tue, 1 Dec 2020 13:57:39 +0100 | ||
| 4 | Subject: [PATCH] lmw, lswi and related PowerPC insns aren't allowed on ppc64le | ||
| 5 | |||
| 6 | lmw, lswi and related PowerPC insns aren't allowed on ppc64le | ||
| 7 | |||
| 8 | Newer binutils produce an error when the assembly contains lmw, stmw, | ||
| 9 | lswi, lswx, stswi, or stswx instructions in little-endian mode. | ||
| 10 | |||
| 11 | Only build and run the lsw and ldst_multiple testcases on ppc64[be]. | ||
| 12 | |||
| 13 | https://bugs.kde.org/show_bug.cgi?id=427870 | ||
| 14 | Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=74b74174d572fee4015b8f4e326db3cd949bcdc3] | ||
| 15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 16 | --- | ||
| 17 | none/tests/ppc64/Makefile.am | 9 ++++++--- | ||
| 18 | none/tests/ppc64/ldst_multiple.vgtest | 1 + | ||
| 19 | 2 files changed, 7 insertions(+), 3 deletions(-) | ||
| 20 | |||
| 21 | diff --git a/none/tests/ppc64/Makefile.am b/none/tests/ppc64/Makefile.am | ||
| 22 | index 9bc0d0a..9d1e8b7 100644 | ||
| 23 | --- a/none/tests/ppc64/Makefile.am | ||
| 24 | +++ b/none/tests/ppc64/Makefile.am | ||
| 25 | @@ -54,16 +54,20 @@ EXTRA_DIST = \ | ||
| 26 | |||
| 27 | check_PROGRAMS = \ | ||
| 28 | allexec \ | ||
| 29 | - lsw jm-insns round \ | ||
| 30 | + jm-insns round \ | ||
| 31 | test_isa_2_06_part1 test_isa_2_06_part2 test_isa_2_06_part3 \ | ||
| 32 | test_dfp1 test_dfp2 test_dfp3 test_dfp4 test_dfp5 \ | ||
| 33 | test_isa_2_07_part1 test_isa_2_07_part2 \ | ||
| 34 | test_isa_3_0 \ | ||
| 35 | subnormal_test \ | ||
| 36 | - test_tm test_touch_tm ldst_multiple data-cache-instructions \ | ||
| 37 | + test_tm test_touch_tm data-cache-instructions \ | ||
| 38 | power6_mf_gpr std_reg_imm \ | ||
| 39 | twi_tdi tw_td power6_bcmp | ||
| 40 | |||
| 41 | +# lmw, stmw, lswi, lswx, stswi, stswx compile (and run) only on big endian. | ||
| 42 | +if VGCONF_PLATFORMS_INCLUDE_PPC64BE_LINUX | ||
| 43 | +check_PROGRAMS += lsw ldst_multiple | ||
| 44 | +endif | ||
| 45 | |||
| 46 | AM_CFLAGS += @FLAG_M64@ | ||
| 47 | AM_CXXFLAGS += @FLAG_M64@ | ||
| 48 | @@ -175,4 +179,3 @@ test_isa_2_07_part2_LDADD = -lm | ||
| 49 | test_tm_LDADD = -lm | ||
| 50 | test_touch_tm_LDADD = -lm | ||
| 51 | test_isa_3_0_LDADD = -lm | ||
| 52 | - | ||
| 53 | diff --git a/none/tests/ppc64/ldst_multiple.vgtest b/none/tests/ppc64/ldst_multiple.vgtest | ||
| 54 | index 87e668e..22dd46c 100644 | ||
| 55 | --- a/none/tests/ppc64/ldst_multiple.vgtest | ||
| 56 | +++ b/none/tests/ppc64/ldst_multiple.vgtest | ||
| 57 | @@ -1 +1,2 @@ | ||
| 58 | +prereq: ../../../tests/is_ppc64_BE | ||
| 59 | prog: ldst_multiple | ||
| 60 | -- | ||
| 61 | 2.31.0 | ||
| 62 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch b/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch index d641998d72..e421ac6c80 100644 --- a/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch +++ b/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch | |||
| @@ -19,7 +19,7 @@ index 6e5a797b9..0ede1ab18 100644 | |||
| 19 | @@ -25,10 +25,10 @@ Open file descriptor ...: /dev/null | 19 | @@ -25,10 +25,10 @@ Open file descriptor ...: /dev/null |
| 20 | 20 | ||
| 21 | 21 | ||
| 22 | FILE DESCRIPTORS: 6 open at exit. | 22 | FILE DESCRIPTORS: 6 open (3 std) at exit. |
| 23 | -Open file descriptor ...: /tmp/data2 | 23 | -Open file descriptor ...: /tmp/data2 |
| 24 | +Open file descriptor ...: ... | 24 | +Open file descriptor ...: ... |
| 25 | ... | 25 | ... |
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 index 480fe33247..7f0e38cb95 100644 --- 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 | |||
| @@ -1,18 +1,58 @@ | |||
| 1 | From bd4e926e7e14747b3cd4d7b2a1bd5410b22f3ea2 Mon Sep 17 00:00:00 2001 | 1 | From 26c104adf6c5162572b7aa2fac89d0835b7f8f0b Mon Sep 17 00:00:00 2001 |
| 2 | From: Randy MacLeod <Randy.MacLeod@windriver.com> | 2 | From: Randy MacLeod <Randy.MacLeod@windriver.com> |
| 3 | Date: Tue, 16 Oct 2018 21:27:46 -0400 | 3 | Date: Tue, 16 Oct 2018 21:27:46 -0400 |
| 4 | Subject: [PATCH] context APIs are not available on musl | 4 | Subject: [PATCH] context APIs are not available on musl |
| 5 | 5 | ||
| 6 | Upstream-Status: Pending | ||
| 7 | |||
| 8 | Updated patch for valgrind-3.14 | 6 | Updated patch for valgrind-3.14 |
| 9 | 7 | ||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 11 | Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> | 9 | Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> |
| 10 | |||
| 11 | Apply same patch to drd/tests/swapcontext.c | ||
| 12 | for valgrind-3.17. | ||
| 13 | |||
| 14 | Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=434775] | ||
| 15 | |||
| 16 | Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> | ||
| 12 | --- | 17 | --- |
| 18 | drd/tests/swapcontext.c | 6 ++++++ | ||
| 13 | memcheck/tests/linux/stack_changes.c | 7 ++++++- | 19 | memcheck/tests/linux/stack_changes.c | 7 ++++++- |
| 14 | 1 file changed, 6 insertions(+), 1 deletion(-) | 20 | 2 files changed, 12 insertions(+), 1 deletion(-) |
| 15 | 21 | ||
| 22 | diff --git a/drd/tests/swapcontext.c b/drd/tests/swapcontext.c | ||
| 23 | index 622c70bc5..5e72bb0f3 100644 | ||
| 24 | --- a/drd/tests/swapcontext.c | ||
| 25 | +++ b/drd/tests/swapcontext.c | ||
| 26 | @@ -20,6 +20,7 @@ | ||
| 27 | |||
| 28 | #define STACKSIZE (PTHREAD_STACK_MIN + 4096) | ||
| 29 | |||
| 30 | +#ifdef __GLIBC__ | ||
| 31 | typedef struct thread_local { | ||
| 32 | ucontext_t uc[3]; | ||
| 33 | size_t nrsw; | ||
| 34 | @@ -67,9 +68,11 @@ void *worker(void *data) | ||
| 35 | swapcontext(&tlocal->uc[0], &tlocal->uc[1]); | ||
| 36 | return NULL; | ||
| 37 | } | ||
| 38 | +#endif | ||
| 39 | |||
| 40 | int main(int argc, char *argv[]) | ||
| 41 | { | ||
| 42 | +#ifdef __GLIBC__ | ||
| 43 | enum { NR = 32 }; | ||
| 44 | thread_local_t tlocal[NR]; | ||
| 45 | pthread_t thread[NR]; | ||
| 46 | @@ -94,6 +97,9 @@ int main(int argc, char *argv[]) | ||
| 47 | |||
| 48 | for (i = 0; i < NR; i++) | ||
| 49 | pthread_join(thread[i], NULL); | ||
| 50 | +#else | ||
| 51 | + printf("libc context call APIs e.g. getcontext() are deprecated by posix\n"); | ||
| 52 | +#endif | ||
| 53 | |||
| 54 | return 0; | ||
| 55 | } | ||
| 16 | diff --git a/memcheck/tests/linux/stack_changes.c b/memcheck/tests/linux/stack_changes.c | 56 | diff --git a/memcheck/tests/linux/stack_changes.c b/memcheck/tests/linux/stack_changes.c |
| 17 | index 7f97b90a5..a26cb4ae6 100644 | 57 | index 7f97b90a5..a26cb4ae6 100644 |
| 18 | --- a/memcheck/tests/linux/stack_changes.c | 58 | --- a/memcheck/tests/linux/stack_changes.c |
| @@ -48,5 +88,5 @@ index 7f97b90a5..a26cb4ae6 100644 | |||
| 48 | return 0; | 88 | return 0; |
| 49 | } | 89 | } |
| 50 | -- | 90 | -- |
| 51 | 2.17.0 | 91 | 2.17.1 |
| 52 | 92 | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch b/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch index b431d3356e..db6867f625 100644 --- a/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch +++ b/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 67e7a690107efb16d6d5aebfe420b64a552accdf Mon Sep 17 00:00:00 2001 | 1 | From d85cc45e0ddeda68adf594dead715964cb32d0e7 Mon Sep 17 00:00:00 2001 |
| 2 | From: Qing He <qing.he@intel.com> | 2 | From: Qing He <qing.he@intel.com> |
| 3 | Date: Tue, 31 Aug 2010 22:51:58 +0800 | 3 | Date: Tue, 31 Aug 2010 22:51:58 +0800 |
| 4 | Subject: [PATCH] valgrind: fix perl scripts | 4 | Subject: [PATCH] valgrind: fix perl scripts |
| @@ -22,10 +22,11 @@ Signed-off-by: Maxin B. John <maxin.john@intel.com> | |||
| 22 | cachegrind/cg_diff.in | 2 +- | 22 | cachegrind/cg_diff.in | 2 +- |
| 23 | massif/ms_print.in | 2 +- | 23 | massif/ms_print.in | 2 +- |
| 24 | perf/vg_perf.in | 2 +- | 24 | perf/vg_perf.in | 2 +- |
| 25 | 4 files changed, 4 insertions(+), 4 deletions(-) | 25 | tests/vg_regtest.in | 2 +- |
| 26 | 5 files changed, 5 insertions(+), 5 deletions(-) | ||
| 26 | 27 | ||
| 27 | diff --git a/cachegrind/cg_annotate.in b/cachegrind/cg_annotate.in | 28 | diff --git a/cachegrind/cg_annotate.in b/cachegrind/cg_annotate.in |
| 28 | index 69365e8..978265d 100644 | 29 | index fea114b..5e814fd 100644 |
| 29 | --- a/cachegrind/cg_annotate.in | 30 | --- a/cachegrind/cg_annotate.in |
| 30 | +++ b/cachegrind/cg_annotate.in | 31 | +++ b/cachegrind/cg_annotate.in |
| 31 | @@ -1,4 +1,4 @@ | 32 | @@ -1,4 +1,4 @@ |
| @@ -35,7 +36,7 @@ index 69365e8..978265d 100644 | |||
| 35 | ##--------------------------------------------------------------------## | 36 | ##--------------------------------------------------------------------## |
| 36 | ##--- Cachegrind's annotator. cg_annotate.in ---## | 37 | ##--- Cachegrind's annotator. cg_annotate.in ---## |
| 37 | diff --git a/cachegrind/cg_diff.in b/cachegrind/cg_diff.in | 38 | diff --git a/cachegrind/cg_diff.in b/cachegrind/cg_diff.in |
| 38 | index 395460b..05873cc 100755 | 39 | index 9d9258e..d0f0ec7 100755 |
| 39 | --- a/cachegrind/cg_diff.in | 40 | --- a/cachegrind/cg_diff.in |
| 40 | +++ b/cachegrind/cg_diff.in | 41 | +++ b/cachegrind/cg_diff.in |
| 41 | @@ -1,4 +1,4 @@ | 42 | @@ -1,4 +1,4 @@ |
| @@ -45,7 +46,7 @@ index 395460b..05873cc 100755 | |||
| 45 | ##--------------------------------------------------------------------## | 46 | ##--------------------------------------------------------------------## |
| 46 | ##--- Cachegrind's differencer. cg_diff.in ---## | 47 | ##--- Cachegrind's differencer. cg_diff.in ---## |
| 47 | diff --git a/massif/ms_print.in b/massif/ms_print.in | 48 | diff --git a/massif/ms_print.in b/massif/ms_print.in |
| 48 | index e6fae89..3b85b40 100755 | 49 | index a206ce4..df1bc31 100755 |
| 49 | --- a/massif/ms_print.in | 50 | --- a/massif/ms_print.in |
| 50 | +++ b/massif/ms_print.in | 51 | +++ b/massif/ms_print.in |
| 51 | @@ -1,4 +1,4 @@ | 52 | @@ -1,4 +1,4 @@ |
| @@ -55,7 +56,7 @@ index e6fae89..3b85b40 100755 | |||
| 55 | ##--------------------------------------------------------------------## | 56 | ##--------------------------------------------------------------------## |
| 56 | ##--- Massif's results printer ms_print.in ---## | 57 | ##--- Massif's results printer ms_print.in ---## |
| 57 | diff --git a/perf/vg_perf.in b/perf/vg_perf.in | 58 | diff --git a/perf/vg_perf.in b/perf/vg_perf.in |
| 58 | index 7a80cb0..28f6156 100644 | 59 | index 90ee1d2..c585096 100644 |
| 59 | --- a/perf/vg_perf.in | 60 | --- a/perf/vg_perf.in |
| 60 | +++ b/perf/vg_perf.in | 61 | +++ b/perf/vg_perf.in |
| 61 | @@ -1,4 +1,4 @@ | 62 | @@ -1,4 +1,4 @@ |
| @@ -65,7 +66,7 @@ index 7a80cb0..28f6156 100644 | |||
| 65 | ##--- Valgrind performance testing script vg_perf ---## | 66 | ##--- Valgrind performance testing script vg_perf ---## |
| 66 | ##--------------------------------------------------------------------## | 67 | ##--------------------------------------------------------------------## |
| 67 | diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in | 68 | diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in |
| 68 | index cb05b52..032e947 100755 | 69 | index 0fe6341..1b45eb7 100755 |
| 69 | --- a/tests/vg_regtest.in | 70 | --- a/tests/vg_regtest.in |
| 70 | +++ b/tests/vg_regtest.in | 71 | +++ b/tests/vg_regtest.in |
| 71 | @@ -1,4 +1,4 @@ | 72 | @@ -1,4 +1,4 @@ |
| @@ -74,5 +75,6 @@ index cb05b52..032e947 100755 | |||
| 74 | ##--------------------------------------------------------------------## | 75 | ##--------------------------------------------------------------------## |
| 75 | ##--- Valgrind regression testing script vg_regtest ---## | 76 | ##--- Valgrind regression testing script vg_regtest ---## |
| 76 | ##--------------------------------------------------------------------## | 77 | ##--------------------------------------------------------------------## |
| 77 | --- | 78 | -- |
| 78 | 2.4.0 | 79 | 2.29.2 |
| 80 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/run-ptest b/meta/recipes-devtools/valgrind/valgrind/run-ptest index f37780ef6a..60d243276b 100755 --- a/meta/recipes-devtools/valgrind/valgrind/run-ptest +++ b/meta/recipes-devtools/valgrind/valgrind/run-ptest | |||
| @@ -7,6 +7,7 @@ | |||
| 7 | # Randy MacLeod <Randy.MacLeod@windriver.com> | 7 | # Randy MacLeod <Randy.MacLeod@windriver.com> |
| 8 | ############################################################### | 8 | ############################################################### |
| 9 | VALGRIND_LIB=@libdir@/valgrind | 9 | VALGRIND_LIB=@libdir@/valgrind |
| 10 | VALGRIND_LIBEXECDIR=@libexecdir@/valgrind | ||
| 10 | VALGRIND_BIN=@bindir@/valgrind | 11 | VALGRIND_BIN=@bindir@/valgrind |
| 11 | 12 | ||
| 12 | LOG="${VALGRIND_LIB}/ptest/valgrind_ptest_$(date +%Y%m%d-%H%M%S).log" | 13 | LOG="${VALGRIND_LIB}/ptest/valgrind_ptest_$(date +%Y%m%d-%H%M%S).log" |
| @@ -33,7 +34,7 @@ fi | |||
| 33 | 34 | ||
| 34 | cd ${VALGRIND_LIB}/ptest && ./tests/vg_regtest \ | 35 | cd ${VALGRIND_LIB}/ptest && ./tests/vg_regtest \ |
| 35 | --valgrind=${VALGRIND_BIN} \ | 36 | --valgrind=${VALGRIND_BIN} \ |
| 36 | --valgrind-lib=${VALGRIND_LIB} \ | 37 | --valgrind-lib=${VALGRIND_LIBEXECDIR} \ |
| 37 | --yocto-ptest \ | 38 | --yocto-ptest \ |
| 38 | gdbserver_tests ${TOOLS} ${EXP_TOOLS} \ | 39 | gdbserver_tests ${TOOLS} ${EXP_TOOLS} \ |
| 39 | 2>&1|tee ${LOG} | 40 | 2>&1|tee ${LOG} |
diff --git a/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch b/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch index eea671da0a..bde1241dc7 100644 --- a/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch +++ b/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | From 8154d38bac5cdb3675cfdaf562ab9da01988b263 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Yi Fan Yu <yifan.yu@windriver.com> | ||
| 3 | Date: Wed, 17 Mar 2021 12:16:31 -0400 | ||
| 4 | Subject: [PATCH 19/20] remove s390x_vec_op_t | ||
| 5 | |||
| 1 | s390x_vec_op_t is not needed anywhere, only elements of enum are accessed | 6 | s390x_vec_op_t is not needed anywhere, only elements of enum are accessed |
| 2 | removing it ensures that valgrind can be built with -fno-common option | 7 | removing it ensures that valgrind can be built with -fno-common option |
| 3 | 8 | ||
| @@ -6,14 +11,25 @@ ld: ../../VEX/libvex-amd64-linux.a(libvex_amd64_linux_a-guest_s390_helpers.o):/u | |||
| 6 | 11 | ||
| 7 | Upstream-Status: Pending | 12 | Upstream-Status: Pending |
| 8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 14 | |||
| 15 | Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> | ||
| 16 | --- | ||
| 17 | VEX/priv/guest_s390_defs.h | 2 +- | ||
| 18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 19 | |||
| 20 | diff --git a/VEX/priv/guest_s390_defs.h b/VEX/priv/guest_s390_defs.h | ||
| 21 | index 9054290..dab8002 100644 | ||
| 9 | --- a/VEX/priv/guest_s390_defs.h | 22 | --- a/VEX/priv/guest_s390_defs.h |
| 10 | +++ b/VEX/priv/guest_s390_defs.h | 23 | +++ b/VEX/priv/guest_s390_defs.h |
| 11 | @@ -286,7 +286,7 @@ enum { | 24 | @@ -284,7 +284,7 @@ typedef enum { |
| 12 | S390_VEC_OP_VFCHE = 18, | 25 | S390_VEC_OP_VBPERM, |
| 13 | S390_VEC_OP_VFTCI = 19, | 26 | S390_VEC_OP_VMSL, |
| 14 | S390_VEC_OP_LAST = 20 // supposed to be the last element in enum | 27 | S390_VEC_OP_LAST // supposed to be the last element in enum |
| 15 | -} s390x_vec_op_t; | 28 | -} s390x_vec_op_t; |
| 16 | +}; | 29 | +}; |
| 17 | 30 | ||
| 18 | /* Arguments of s390x_dirtyhelper_vec_op(...) which are packed into one | 31 | /* Arguments of s390x_dirtyhelper_vec_op(...) which are packed into one |
| 19 | ULong variable. | 32 | ULong variable. |
| 33 | -- | ||
| 34 | 2.29.2 | ||
| 35 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb b/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb index 2b1d185575..1e29896596 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb | |||
| @@ -42,14 +42,10 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ | |||
| 42 | file://s390x_vec_op_t.patch \ | 42 | file://s390x_vec_op_t.patch \ |
| 43 | file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ | 43 | file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ |
| 44 | file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ | 44 | file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ |
| 45 | file://0001-drd-Port-to-Fedora-33.patch \ | 45 | file://0001-Add-missing-musl.supp.patch \ |
| 46 | file://0001-drd-musl-fix.patch \ | ||
| 47 | file://0001-helgrind-Intercept-libc-functions.patch \ | ||
| 48 | file://0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch \ | ||
| 49 | file://0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch \ | ||
| 50 | " | 46 | " |
| 51 | SRC_URI[md5sum] = "d1b153f1ab17cf1f311705e7a83ef589" | 47 | SRC_URI[md5sum] = "afe11b5572c3121a781433b7c0ab741b" |
| 52 | SRC_URI[sha256sum] = "c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca" | 48 | SRC_URI[sha256sum] = "ad3aec668e813e40f238995f60796d9590eee64a16dff88421430630e69285a2" |
| 53 | UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar" | 49 | UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar" |
| 54 | 50 | ||
| 55 | COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' | 51 | COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' |
| @@ -58,6 +54,7 @@ COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' | |||
| 58 | # argument. Change expected stderr files accordingly. | 54 | # argument. Change expected stderr files accordingly. |
| 59 | do_patch_append() { | 55 | do_patch_append() { |
| 60 | bb.build.exec_func('do_sed_paths', d) | 56 | bb.build.exec_func('do_sed_paths', d) |
| 57 | |||
| 61 | } | 58 | } |
| 62 | 59 | ||
| 63 | do_sed_paths() { | 60 | do_sed_paths() { |
| @@ -110,7 +107,7 @@ do_configure_prepend () { | |||
| 110 | } | 107 | } |
| 111 | 108 | ||
| 112 | do_install_append () { | 109 | do_install_append () { |
| 113 | install -m 644 ${B}/default.supp ${D}/${libdir}/valgrind/ | 110 | install -m 644 ${B}/default.supp ${D}/${libexecdir}/valgrind/ |
| 114 | oe_multilib_header valgrind/config.h | 111 | oe_multilib_header valgrind/config.h |
| 115 | } | 112 | } |
| 116 | 113 | ||
| @@ -125,7 +122,7 @@ VALGRINDARCH_powerpc = "ppc" | |||
| 125 | VALGRINDARCH_powerpc64 = "ppc64" | 122 | VALGRINDARCH_powerpc64 = "ppc64" |
| 126 | VALGRINDARCH_powerpc64el = "ppc64le" | 123 | VALGRINDARCH_powerpc64el = "ppc64le" |
| 127 | 124 | ||
| 128 | INHIBIT_PACKAGE_STRIP_FILES = "${PKGD}${libdir}/valgrind/vgpreload_memcheck-${VALGRINDARCH}-linux.so" | 125 | INHIBIT_PACKAGE_STRIP_FILES = "${PKGD}${libexecdir}/valgrind/vgpreload_memcheck-${VALGRINDARCH}-linux.so" |
| 129 | 126 | ||
| 130 | RDEPENDS_${PN} += "perl" | 127 | RDEPENDS_${PN} += "perl" |
| 131 | 128 | ||
| @@ -137,7 +134,8 @@ RDEPENDS_${PN}-ptest += " bash coreutils file \ | |||
| 137 | gdb libgomp \ | 134 | gdb libgomp \ |
| 138 | perl \ | 135 | perl \ |
| 139 | perl-module-file-basename perl-module-file-glob perl-module-getopt-long \ | 136 | perl-module-file-basename perl-module-file-glob perl-module-getopt-long \ |
| 140 | perl-module-overloading \ | 137 | perl-module-overloading perl-module-cwd perl-module-ipc-open3 \ |
| 138 | perl-module-carp perl-module-symbol \ | ||
| 141 | procps sed ${PN}-dbg ${PN}-src" | 139 | procps sed ${PN}-dbg ${PN}-src" |
| 142 | RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" | 140 | RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" |
| 143 | 141 | ||
| @@ -222,8 +220,13 @@ do_install_ptest() { | |||
| 222 | sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann1.vgtest | 220 | sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann1.vgtest |
| 223 | sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann2.vgtest | 221 | sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann2.vgtest |
| 224 | 222 | ||
| 223 | # point the expanded @abs_top_builddir@ of the host to PTEST_PATH | ||
| 224 | sed -i s:${S}:${PTEST_PATH}:g \ | ||
| 225 | ${D}${PTEST_PATH}/memcheck/tests/linux/debuginfod-check.vgtest | ||
| 226 | |||
| 225 | # handle multilib | 227 | # handle multilib |
| 226 | sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest | 228 | sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest |
| 229 | sed -i s:@libexecdir@:${libexecdir}:g ${D}${PTEST_PATH}/run-ptest | ||
| 227 | sed -i s:@bindir@:${bindir}:g ${D}${PTEST_PATH}/run-ptest | 230 | sed -i s:@bindir@:${bindir}:g ${D}${PTEST_PATH}/run-ptest |
| 228 | 231 | ||
| 229 | # This test fails on the host as well, using both 3.15 and git master (as of Jan 24 2020) | 232 | # This test fails on the host as well, using both 3.15 and git master (as of Jan 24 2020) |
| @@ -238,7 +241,7 @@ do_install_ptest() { | |||
| 238 | 241 | ||
| 239 | # avoid stripping some generated binaries otherwise some of the tests will fail | 242 | # avoid stripping some generated binaries otherwise some of the tests will fail |
| 240 | # run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail | 243 | # run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail |
| 241 | INHIBIT_PACKAGE_STRIP_FILES = "\ | 244 | INHIBIT_PACKAGE_STRIP_FILES += "\ |
| 242 | ${PKGD}${PTEST_PATH}/none/tests/tls \ | 245 | ${PKGD}${PTEST_PATH}/none/tests/tls \ |
| 243 | ${PKGD}${PTEST_PATH}/none/tests/tls.so \ | 246 | ${PKGD}${PTEST_PATH}/none/tests/tls.so \ |
| 244 | ${PKGD}${PTEST_PATH}/none/tests/tls2.so \ | 247 | ${PKGD}${PTEST_PATH}/none/tests/tls2.so \ |
