libctf: fix ELF-in-BFD checks in the presence of ASAN
The address sanitizer contains a redirector that captures dlopen calls, so checks for dlopen with AC_SEARCH_LIBS will always conclude that dlopen is present when the sanitizer is on. This means it won't add -ldl to LIBS even if needed, and the immediately-following attempt to actually link with -lbfd will fail because libbfd also needs dlsym, which ASAN does *not* contain a redirector for. If we check for dlsym instead of dlopen, the check works whether ASAN is on or off. (bfd uses both in close proximity: if it needs one, it will always need the other.) libctf/ChangeLog 2021-03-25 Nick Alcock <nick.alcock@oracle.com> * configure.ac: Check for dlsym, not dlopen. * configure: Regenerate.
This commit is contained in:
parent
15131809c2
commit
8f7b22ea2a
3 changed files with 18 additions and 13 deletions
|
@ -68,7 +68,7 @@ ACX_PROG_CC_WARNING_OPTS([-Wall], [ac_libctf_warn_cflags])
|
|||
|
||||
AC_FUNC_MMAP
|
||||
# Needed for BFD capability checks.
|
||||
AC_SEARCH_LIBS(dlopen, dl)
|
||||
AC_SEARCH_LIBS(dlsym, dl)
|
||||
AM_ZLIB
|
||||
|
||||
GCC_ENABLE([libctf-hash-debugging], [no], [], [Enable expensive debugging of CTF deduplication type hashing])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue