aboutsummaryrefslogtreecommitdiff
path: root/libctf/configure.ac
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2024-06-12 11:08:39 +0100
committerNick Alcock <nick.alcock@oracle.com>2024-06-18 13:20:32 +0100
commit9f0fb75b8e121a93b0f63dd823fa86ffd44e8e5d (patch)
treeb4419583d8c06b014b1097d28680035f112640fa /libctf/configure.ac
parente3cd5660756223bbe4a2ab607ef019bbf5e9daf9 (diff)
downloadbinutils-9f0fb75b8e121a93b0f63dd823fa86ffd44e8e5d.zip
binutils-9f0fb75b8e121a93b0f63dd823fa86ffd44e8e5d.tar.gz
binutils-9f0fb75b8e121a93b0f63dd823fa86ffd44e8e5d.tar.bz2
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.
Diffstat (limited to 'libctf/configure.ac')
-rw-r--r--libctf/configure.ac2
1 files changed, 1 insertions, 1 deletions
diff --git a/libctf/configure.ac b/libctf/configure.ac
index cf0e988..64544b8 100644
--- a/libctf/configure.ac
+++ b/libctf/configure.ac
@@ -109,7 +109,7 @@ if test $ac_cv_libctf_bfd_elf = yes; then
fi
AC_C_BIGENDIAN
-AC_CHECK_HEADERS(byteswap.h endian.h)
+AC_CHECK_HEADERS(byteswap.h endian.h valgrind/valgrind.h)
AC_CHECK_FUNCS(pread)
dnl Check for bswap_{16,32,64}