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