Commit Graph

162 Commits

Author SHA1 Message Date
Alexander Kanavin
206dadd9c2 valgrind: mark ptest-specific patch as inappropriate
I do not think upstream is going to accept this; if you disagree
please do the submission.

(From OE-Core rev: 22b0bd6cfdbf7216a6aca34fa9ca93133a3cee64)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-07 08:45:10 +00:00
Alexander Kanavin
3129eb9dd6 valgrind: update 3.17.0 -> 3.18.1
(From OE-Core rev: da8f9c5e1ebe655a1a8e9935dd6560121bca2e74)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-23 17:42:25 +01:00
Ross Burton
f231bc0b4f valgrind: set precise BSD license
"BSD" is ambiguous, use the precise license BSD-3-Clause.

(From OE-Core rev: b12cbda349658ddef8cb72d5738c094c2b009e7e)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-04 08:44:11 +01:00
Tony Tascioglu
36ed0c29cb valgrind: skip broken ptests for glibc 2.34
Skip tests that are problematic for glibc-2.34.
The list of problematic ptests was found by Richard after
patching several to work with the new glibc version.

https://bugzilla.yoctoproject.org/show_bug.cgi?id=14500

(From OE-Core rev: c177c7f9ef6f90ca49074f003accb8e9a1a645aa)

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-12 06:26:15 +01:00
Richard Purdie
382e70c724 valgrind: Add patches for glibc 2.34 support
This partially resolves ptest failures with glibc 2.34.

(From OE-Core rev: 9adf897176924cad6b12d4da73a904cfbf578f46)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-05 08:53:41 +01:00
Richard Purdie
bb6ddc3691 Convert to new override syntax
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py <oe-core directory>

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02 15:44:10 +01:00
Tony Tascioglu
be3e14dd43 valgrind: skip flaky ptest fb_test_amd64
Recently, the none/tests/amd64/fb_test_amd64 test had been flaky and
causing failures on the auto-builder. Until we can get to the root cause
of the issue, we are going to skip the test to reduce the noise from the
ptests.

(From OE-Core rev: a365cd7a358db96791033e6dc6e45d2e816d3e4c)

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-16 21:23:44 +01:00
Tony Tascioglu
7933c2125b valgrind: Actually install list of non-deterministic ptests
Install list of non-deterministic threaded ptests to be run using taskset
to force them to a single core. This commit works with b318944d7, which
updated the testing script to run the non-deterministic tests separately
but didn't install the list of tests, so these tests were being run
without taskset.

The taskset_nondeterministic_tests file is the list of tests that will
be run separately with taskset, and ignored during the other tests. This
is installed to /usr/lib/valgrind/ptest similar to the 2 existing lists
for tests to skip on ARM and all architectures.

Removed bar_bad and bar_bad_xml to be included separately as they cause
issues on non-kvm QEMU instances.

See:
   b318944dd7 valgrind: Improve non-deterministic ptest reliability
for more info.

(From OE-Core rev: 3d23985d0d653844863ed513d75d93a36359992f)

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-17 13:42:31 +01:00
Tony Tascioglu
a71c3b390d valgrind: remove buggy ptest from arm64
This commit removes the stack_changes ptest from aarch64 devices.
This test is buggy and fails almost 100% of the time in qemuarm64.
In general, many of the valgrind tests are more likely to fail on
qemuarm64 vs native x86_64.

This test previously worked on gatesgarth and dunfell, but has
been failing since hardknott. It might be due to a recent change
in the cross-compiler or glibc.
The test runs fine when running natively on arm on a Raspberry Pi.

Until we can find the root cause for the failures, this shorter
term solution should clear up some of the noise from the autobuilder
from a known failure.

(From OE-Core rev: 82d6411b80a46d8ec0258ca75c3c80dc6128d44e)

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-12 08:38:29 +01:00
Kai Kang
b6ae985da0 valgrind: fix a typo
(From OE-Core rev: 0478d9b04d6a6d10e439116b23b641a1e2553e26)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-08 12:12:40 +01:00
Tony Tascioglu
be491f7343 valgrind: Improve non-deterministic ptest reliability
Several of the valgrind tests (particulaly helgrind) are unreliable and
can fail with a different output.

Particularly, there is a higher chance of failure on QEMU instances with
SMP enabled and on systems with more interrupts such as laptops on powersave.

The tests have been reported upstream as being unreliable dating back
over 5 years, due in part to the ordering of threads during
an "unwinding" process in helgrind.
https://bugs.kde.org/show_bug.cgi?id=345121
https://bugs.kde.org/show_bug.cgi?id=430321

A workaround to improve the reliability of such tests is to force them
to run on a single CPU core using taskset. This greatly reduces the
chance of a failure.

>From my testing, I have found it can help reduce the rate of failures
on both a laptop and QEMU by over 5x. Stress-testing in QEMU for several
hours did not result in a failure while running the test normally did.

The flaky or undeterministic thread-based tests are defined in the
taskset_nondeterministic_tests file. These test cases will be run with
taskset 0x00000001 to run on a single CPU core rather then the regular
test.

The edited run-ptest executes the flaky tests first, then ignores them
to not duplicate the results from the main tests. Everything modified is
restored when testing is complete.

The drawback is that this isn't a foolproof solution. It helps the tests
fail much less frequently, and considering how this issue has been documented
for a long time, a workaround such as this is needed.

(From OE-Core rev: b318944dd72ca7b0408e955f3599381ab3ac3ba8)

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-06 23:16:51 +01:00
Alexander Kanavin
3cdcc442c9 ptest: add newly discovered missing runtime dependencies across recipes
Making ptest images based on core-image-minimal uncovered quite a
few missing depenendcies from various recipes, here they are.

(From OE-Core rev: 2cda6242f2f0f6f9c6bdef72bbb271eab7e5e1f5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-27 13:21:38 +01:00
Khem Raj
984ffe3ab4 valgrind: Disable leak_cpp_interior test
This test is known to fail and especially is prominent with GCC-11
where stdc++17 is enabled by default

(From OE-Core rev: 7f549d7c1f0a3f3cf312ebe00ce8cfc0e787bf15)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Yi Fan Yu
c707bf9f80 valgrind: Enable drd/tests/bar_bad* ptest
Revert some of 7f7d2fa18267090891754d976cbc3e628324d3dd

Was not able to reproduce the reported non-deterministic failure.
(ran 20 times on qemux86-64 on a relatively isolated machine)
it might be related to the AB-INT issues,
but it seems to only affect ARM builders now.

Also no action taken by upstream valgrind to fix
https://bugs.kde.org/show_bug.cgi?id=430321

Let it run on AB to see if failure was fixed by uprev to 3.17.0.
if not, we can gather more data from the AB failure.

[YOCTO #14051]

(From OE-Core rev: c0ea23832a96352d8eeda5cebc9d37a22c5d5439)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Khem Raj
8c88d149c8 valgrind: Add libstdc++ debug symbols for ptest
new/delete symbols are needed by overloaded-new.post test

(From OE-Core rev: 11bb1fe42590fd35ae5f24196d263f93dd063d35)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Khem Raj
5015e6711d valgrind: Add glibc-src to ptest rdeps
gdbserver tests look for glibc sources ( rtld.c )
or else they are flagged as differences and tests marked as failures

(From OE-Core rev: 3824f811db82c6f2360eea19a9df9129f4330291)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Khem Raj
5751bf6e14 valgrind: Delete trailing whitespaces
(From OE-Core rev: 2a049dd918e565c37b03af03973c695420b9599a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Yi Fan Yu
e90519f1b5 valgrind: Fix ptest swapcontext.vgtest
Backport an upstream patch.
to limit the amount of stackstrace present.

Revert "valgrind: Disable ptest swapcontext.vgtest"
Effectively reverts commit 9dff5766f5795bb02677050045f24365f68bbc1a.

[YOCTO #14324]

(From OE-Core rev: a9baae5994354ba6410793f8a54e224e9dc21b5a)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Yi Fan Yu
0f51493992 valgrind: Disable ptest swapcontext.vgtest
New test introduced in valgrind 3.17.0.
Test fails on both qemuarm64 and qemux64.

[YOCTO #14324]

(From OE-Core rev: 2c21e5dda1d88280be3062eabb8c2788ff543600)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Yi Fan Yu
70dcfaea5e 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>
2021-04-18 11:37:24 +01:00
Yi Fan Yu
bbe14ab331 valgrind: print failed ptest details
Some intermittent failures in valgrind are hard
reproduce.

Printing the difference between actual and expected
will make understanding them slightly easier.

[YOCTO #14294]

(From OE-Core rev: 099313ef541920d4a84b801d9d8788a56ba7ec61)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-05 15:29:02 +01:00
Khem Raj
5fdfa9e3cd valgrind: Fix ptests on ppc64 LE
Backport a patch to avoid lsw/lmw instructions

(From OE-Core rev: 834923cbf36d028da56208ad1e2a1b8623a88bd7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-23 22:51:25 +00:00
Yi Fan Yu
744566b658 valgrind: Fix nlcontrolc.vgtest
Backport a recent upstream patch
that redesigned the test.

It's now enabled for both x86-64 and arm.

[YOCTO #14223]

(From OE-Core rev: 64f98a731adaf86c9185c90436db1a6eb8e16b42)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-10 10:30:39 +00:00
Yi Fan Yu
40d9466b8c valgrind: Increase timeout duration 30 -> 90 s
Attempt to fix intermittent failure of `drd/tests/std_list`
Locally tested to take around 45 s on qemuarm64

[YOCTO #14228]

(From OE-Core rev: aac00b1c8042e41cd6bb1aea8e3033a1c6dd2b05)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-27 22:40:41 +00:00
Dorinda
8e4567bd5f meta/recipes-devtools: Add HOMEPAGE / DESCRIPTION
Added HOMEPAGE and DESCRIPTION for recipes with missing decriptions or homepage

[YOCTO #13471]

(From OE-Core rev: bb05814335e7101bfd8df0a11dc18a044e867bed)

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26 15:21:21 +00:00
Yi Fan Yu
b98fc88f63 valgrind: Remove reference to non-existent ptests
exp-dhat:
commit 441bfc5f5 promoted exp-dhat to dhat

exp-sgcheck:
commit 40187fcd6 removed the exp-sgcheck tool.

(From OE-Core rev: f7b32e0d5bb9c80f6b37ed8b7f0bd29c562d3f70)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-19 11:17:11 +00:00
Yi Fan Yu
905e5e4b68 valgrind: Disable ptest nlcontrolc for x86-64
Test hangs after glibc 2.33 uprev.

Using gdb `p t[0]` to modify the timeout
argument no longer affects how long `select` wait.

https://bugs.kde.org/show_bug.cgi?id=432870
[YOCTO #14223]

(From OE-Core rev: bb991a24952ebf02cf0092c194d2b3a54a8b2e5b)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-18 23:40:01 +00:00
Alexander Kanavin
c4c6bb89cf valgrind: exclude bar_bad/bar_bad_xml from ptests
The tests' output is non-deterministic and sometimes
doesn't match the sample output. This has been reported at
https://bugs.kde.org/show_bug.cgi?id=430321
(see also an earlier related bug https://bugs.kde.org/show_bug.cgi?id=358213)

Until upstream figures out how to fix this, let's not run the tests.

(From OE-Core rev: 7f7d2fa18267090891754d976cbc3e628324d3dd)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-18 22:52:24 +00:00
Stacy Gaikovaia
1d41061b3f valgrind: 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.
Include a special case for musl.

See https://bugs.kde.org/show_bug.cgi?id=428909 for additional
discussion.

Upstream-Status: Submitted

(From OE-Core rev: 5da46a552d54de34a5243e1d90dcc6f52b7af746)

Signed-off-by: Paul Floyd <paulf@free.fr>
Signed-off-by: Stacy Gaikovaia <Stacy.Gaikovaia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24 10:27:45 +00:00
Richard Purdie
ad818f8b23 valgrind: Fix build on musl after drd fixes
(From OE-Core rev: 6a74caa115298e594ae22a9de91b132db62e4b5d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-26 22:08:36 +00:00
Stacy Gaikovaia
6dddb2345b valgrind: drd: fix pthread intercept test failures
After glibc uprev 2.31 -> 2.32, the following drd ptests
fail with the error "condition variable has not been initialized".

drd/tests/annotate_hb_err
drd/tests/annotate_sem
drd/tests/annotate_rwlock
drd/tests/annotate_order_2
drd/tests/annotate_smart_pointer
drd/tests/annotate_spinlock
drd/tests/monitor_example
drd/tests/pth_cond_race
drd/tests/pth_inconsistent_cond_wait

In glibc 2.32, the POSIX thread functions are in both
libc and libpthread, causing valgrind to misinterpert
test behaviour. This patch tells valgrind to intercept
both the libc and the libpthread functions, resolving
these ptest failures.

Here are the latest test results on qemux86-64:
=== Test Summary ===
TOTAL: 728
PASSED: 688
FAILED: 1
SKIPPED: 39

The failed test is in helgrind:
FAIL: helgrind/tests/pth_destroy_cond

Patch can be removed once we uprev valgrind.
See valgrind commit 15330adf7c2471fbaa6a0818db07078d81dbff97.

(From OE-Core rev: e8f265e957e187b4f84f566aaeec8f514e3044d6)

Signed-off-by: Stacy Gaikovaia <Stacy.Gaikovaia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-26 22:08:36 +00:00
Stacy Gaikovaia
14ccd72b3f valgrind: fix memcheck vgtests remove fullpath-after flags
Previously in:
    f75792b28e valgrind: make a few more ptests pass
the vagrind test runner was adjusted to suppress part
of a path that only exists when run in the yocto ptest
environment. Unfortunately this change includes the
valgrind version and when valgrind was last updated,
the patch was not changed. Rather than continually updating
the patch or even generating the version dynamically,
we can simply change the expected output for two tests.

The reason the option: --fullpath-after=foo was
introduced into the effected valgrind ptests was to
deal with builds where ccache is used. Compiling with
ccache enabled sometimes causes the source file absolute
name to be found in a full path that is not the same as $PWD.

See commit c80f32e662dfa2a4f046960a25d5b8b7a8821bea in
valgrind for more information about changes to the
arguments that test badfree3 and varinfo5 run with.

There is also a minor fix to add the missing overloading.pm
perl package and put the dependencies in alphabetic order.

(From OE-Core rev: 9c82b9302c6ee84864e9a9cc870729395804e794)

Signed-off-by: Stacy Gaikovaia <Stacy.Gaikovaia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17 09:47:46 +01:00
Wang Mingyu
0c4cf4b7e1 valgrind: upgrade 3.16.0 -> 3.16.1
??Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>

(From OE-Core rev: faaebe0df4f8e0b742a6c1a32ea5579210559ab9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-25 10:23:37 +01:00
Valentin Longchamp
18ce5582ea valgrind: disable it for powerpc soft-float
valgrind doesn't build for powerpc soft-float. It is thus disabled for
such architectures.

(From OE-Core rev: effd1434a6ca6afcc358bea64053a7bf805633c7)

Signed-off-by: Valentin Longchamp <valentin@longchamp.me>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-23 12:31:03 +01:00
Wang Mingyu
82b89e732c valgrind: upgrade 3.15.0 -> 3.16.0
0001-gcc10-arm64-build-needs-__getauxval-for-linking-with.patch
0001-tests-Make-pthread_detatch-call-portable-across-plat.patch
0004-pth_atfork1.c-Define-error-API-for-musl.patch
removed since they are included in 3.16.0

refresh 0004-Fix-out-of-tree-builds.patch

-License-Update:
before:
   You should have received a copy of the GNU General Public
   License along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   02111-1307, USA.
after:
   You should have received a copy of the GNU General Public License
   along with this program; if not, see <http://www.gnu.org/licenses/>.

(From OE-Core rev: a627a350cf3db99a63d6be2701957e3de0654370)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04 13:27:32 +01:00
Khem Raj
b62b82c02d valgrind: Backport upstream patch to fix __getauxval needs
Drop disabling outline-atomics since that was added to fix this issue in
particular

(From OE-Core rev: 702a1ae29c6a0f920bd67b7a7a41b886ac52a751)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-18 06:33:36 +01:00
Khem Raj
3799c960c2 valgrind: Do not use outline-atomics on aarch64
This avoids the __getauxval undefined reference error seen with gcc10 on
doing static linking with -nodefaultlibs, which is uncommon usecase
anyway, disabling outline-atomics is not a huge deal for OE in terms of
performance as we already use -mcpu which is tuned enough to the SOC the
code is being generated for

(From OE-Core rev: 3952738d083b888e5b898ed3d63a0ed9a4dd3712)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-15 16:31:45 +01:00
Khem Raj
11702842f9 valgrind: Fix timerfd syscall test to be 64bit time_t safe
This helps compile the testcase with musl on 32bit arches

(From OE-Core rev: ac5a65cb5fdb315df2cb016d0cc5c3389c7971f0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:28 +00:00
Alexander Kanavin
949b064215 valgrind: exclude one more failing test for arm64
valgrind's test suite isn't generally run by upstream on arm64,
so let's simply disable the failing test and establish a set
that works.

(From OE-Core rev: f9c953295a44f74c6394d155dfa080384f637806)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-23 23:33:48 +00:00
Alexander Kanavin
7374afee9d valgrind: replace a submitted patch with one that was merged
This addresses a ptest failure in particular that the submitted
patch caused.

(From OE-Core rev: 4e9d46a570f7d7d1981a24f90c5e919b1f73c8b5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-23 23:33:48 +00:00
Khem Raj
2fcd0cebe5 valgrind: Fix ptest builds on musl
(From OE-Core rev: 20e7d638322cf03f512d4f13c698f25211097f86)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Alexander Kanavin
85a0d61025 valgrind: fix the remaining ptest failures
Particularly, one test is disabled as it is failing everywhere,
two patches that actually cause failures are dropped and
some binaries are prevented from being stripped where that is
expected.

(From OE-Core rev: 64bc13f3c9c96584494f0984da5253a306e8a140)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Alexander Kanavin
4b45e7419f valgrind: partially fix ptests
Unfortunately the ptests assume that $S=$B, and also require
the presence of original source code.

There are still some failures left which require additional investigation.

(From OE-Core rev: f781e2a70ce1086c49e0c3d5ac61b7bf5bd79a9c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-16 22:33:09 +00:00
Khem Raj
cbe0b1987b valgrind: Fix build with -fno-common
(From OE-Core rev: 14f14eccf176539493fbfe710b66704feb7710da)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30 08:47:12 +00:00
Randy MacLeod
09cfb218cb valgrind: disable 256 ptests for aarch64
On qemuarm64 systems, about half of the valgrind tests fail and
often result in defunct processes, eg:
   root       819   818 25 00:12 pts/0    00:01:52 /usr/bin/valgrind --command-line-only=yes --memcheck:leak-check=no --tool=memcheck -q --track-origins=
   root       861   420  0 00:13 pts/0    00:00:00 [sh] <defunct>
Eventually these processes use so much memory that the
out of memory killer runs.

Hide the tests that fail as a horrid work-around until the
root cause has been resolved since this at least allows the
ptest run to complete. This work-around is done in the run-ptest
script using a sorted list of tests so that they can be easily
restored one by one without a rebuild during testing.

With core-image-minimal on qemuarm64:
Recipe         | Passed      | Failed   | Skipped   | Time(s)
valgrind       | 333         | 49       | 17        | 7637

(From OE-Core rev: 208023f8fcbf4aee34544a80f962ae25f25ffb8d)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-16 23:02:44 +01:00
Randy MacLeod
997d91f608 valgrind: ptest improvements to run-ptest and more
Make some changes to the run-ptest script:
  - after main tests run integrity check like the pkg Makefile.
  - aesthetic and ordering changes

Add the .in_place directory and its contents which allows valgrind
to be run in-place thereby enabling the gdbserver_tests to
complete rather than hang. Unfortunately directory paths embedded
in binaries still cause many of these test to fail.

Add the exp-sgcheck tests.

With core-image-minimal on qemux86-64/kvm:
Recipe         | Passed      | Failed   | Skipped   | Time(s)
before         | 648         | 12       | 60        | 1541
after          | 662         | 20       | 38        | 1429
ppc-no-gdbserv | 415         | 196      | 34        | 10689

Since fewer tests timeout, the overall time has decreased.
With core-image-sato on qemux86-64/kvm the results are now
the same as core-image-minimal.

qemuppc/arm64 runs result in the oom-killer eventually running since
some processes do not terminate properly and accumulate as defunct
processes in memory. Without the gdbserver_tests, the tests
complete without defunct process or the oom-killer running for
ppc but not for arm64.

(From OE-Core rev: 6dbaaeec17eae8329031188b688b33306a871870)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-16 23:02:44 +01:00
Randy MacLeod
3b83ad5830 valgrind: make a few more ptests pass
Adjust two memcheck vgtest files to deal with relative paths
that are in test executables when cross-compiling.
Add libgomp to enable OpenMP tests.
Add the bz2 executable for memcheck/tests/vcpu_bz2.

(From OE-Core rev: f75792b28e39e4c393c0a00369d5417e3af75b36)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-16 23:02:44 +01:00
Randy MacLeod
ecb8b17efc valgrind: enable ~500 more ptests
Add valgrind's top level config.h to the ptest package since
it is used by several scripts to determine which tests to run.

Drop the removal of:
   none/tests/shell,
the content was already moved to:
   none/tests/scripts/shell
so the filter useless and the files no longer cause a problem.

Add a few more test directories that had been omitted.
Add perf/bigcode for test: none/tests/bigcode

Leave .c, .h, .S files in the ptest image since several of them are
needed to run the tests. The overhead is ~13 MB which is high but
keeping all test code is easier than figuring out which source files
are needed and the entire valgrind-ptest package is ~115 MB so in
this context it's an acceptable trade-off.

Add bash dependency for ptest for none/tests/scripts/shell

With core-image-minimal on qemux86-64/kvm:
Recipe         | Passed      | Failed   | Skipped   | Time(s)
before         | 149         | 1        | 9         | 663
after          | 648         | 12       | 60        | 1541

(From OE-Core rev: 083a5dd27d305ecd12214f2665460dbe06b96c2a)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-16 23:02:44 +01:00
Adrian Bunk
c2f055257e valgrind: Remove dependency on libx11
It doesn't seem to be used.

(From OE-Core rev: 70fa25399503bd43da28d9d98765d354543c8975)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-27 12:20:36 +01:00
Randy MacLeod
95a4691d15 valgrind: add 'file' to ptest depends
to avoid:
   ./run_openmp_test: line 12: /usr/bin/file: No such file or directory
   SKIP: drd/tests/omp_matinv
when using core-image-minimal to run valgrind ptests.

(From OE-Core rev: f68ba3e49a8a8da7e48cd3fecf1dd3fc39219a40)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-21 12:56:34 +01:00