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/valgrind | |
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/valgrind')
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 \ |