]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
libctf: suppress spurious failure of malloc-counting tests under valgrind
authorNick Alcock <nick.alcock@oracle.com>
Wed, 12 Jun 2024 10:08:39 +0000 (11:08 +0100)
committerNick Alcock <nick.alcock@oracle.com>
Tue, 18 Jun 2024 12:20:32 +0000 (13:20 +0100)
commit9f0fb75b8e121a93b0f63dd823fa86ffd44e8e5d
treeb4419583d8c06b014b1097d28680035f112640fa
parente3cd5660756223bbe4a2ab607ef019bbf5e9daf9
libctf: suppress spurious failure of malloc-counting tests under valgrind

The libctf-regression/open-error-free.c test works by interposing malloc
and counting mallocs and frees across libctf operations.  This only
works under suitably-interposable mallocs on systems supporting
dlsym (RTLD_NEXT, ...), so its operation is restricted to glibc
systems for now, but also it interacts badly with valgrind, which
interposes malloc itself.  Detect a running valgrind and skip the test.

Add new facilities allowing libctf lookup tests to declare themselves
unsupported, by printing "UNSUPPORTED: " and then some meaningful
message instead of their normal output.

libctf/
* configure.ac: Check for <valgrind/valgrind.h>.
* config.h.in: Regenerate.
* configure: Likewise.
* testsuite/lib/ctf-lib.exp (run_lookup_test): Add support for
UNSUPPORTED tests.
* testsuite/libctf-regression/open-error-free.c: When running
under valgrind, this test is unsupported.
libctf/config.h.in
libctf/configure
libctf/configure.ac
libctf/testsuite/lib/ctf-lib.exp
libctf/testsuite/libctf-regression/open-error-free.c