diff --git a/configure b/configure index 1b33a9b6b..7f518ee53 100755 --- a/configure +++ b/configure @@ -19824,21 +19824,23 @@ fi # # Don't allow undefined symbols, even in shared libraries, if possible. -# This will detect missing symbols at build-time instead of run-time. +# This will detect missing symbols at build-time instead of run-time +# but is incompatible with the sanitizers/fuzzers. # We must set this *before* the library tests. # -case "$host_os" in - freebsd*|dragonfly*|openbsd*) - # On FreeBSD and Dragonfly, environ is filled in by the - # dynamic loader so we cannot use -Wl,--no-undefined. - # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263265 - # OpenBSD shared libraries don't link explicitly with libc - # which results in undefined references errors. - # Ideally we would link a shared object with -Wl,--no-undefined - # and see if it works but this is not easy in a libtool world. - ;; - *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--no-undefined" >&5 +if test X"${enable_sanitizer}{enable_fuzzer}" = X"nono"; then + case "$host_os" in + freebsd*|dragonfly*|openbsd*) + # On FreeBSD and Dragonfly, environ is filled in by the + # dynamic loader so we cannot use -Wl,--no-undefined. + # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263265 + # OpenBSD shared libraries don't link explicitly with libc + # which results in undefined references errors. + # Ideally we would link a shared object with -Wl,--no-undefined + # and see if it works but this is not easy in a libtool world. + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--no-undefined" >&5 printf %s "checking whether the linker accepts -Wl,--no-undefined... " >&6; } if test ${ax_cv_check_ldflags___Wl___no_undefined+y} then : @@ -19913,8 +19915,9 @@ else case e in #( esac fi - ;; -esac + ;; + esac +fi # # HP-UX may need to define _XOPEN_SOURCE_EXTENDED to expose MSG_WAITALL. diff --git a/configure.ac b/configure.ac index 8c62cf72c..936901bcd 100644 --- a/configure.ac +++ b/configure.ac @@ -2451,23 +2451,26 @@ AC_SYS_YEAR2038 # # Don't allow undefined symbols, even in shared libraries, if possible. -# This will detect missing symbols at build-time instead of run-time. +# This will detect missing symbols at build-time instead of run-time +# but is incompatible with the sanitizers/fuzzers. # We must set this *before* the library tests. # -case "$host_os" in - freebsd*|dragonfly*|openbsd*) - # On FreeBSD and Dragonfly, environ is filled in by the - # dynamic loader so we cannot use -Wl,--no-undefined. - # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263265 - # OpenBSD shared libraries don't link explicitly with libc - # which results in undefined references errors. - # Ideally we would link a shared object with -Wl,--no-undefined - # and see if it works but this is not easy in a libtool world. - ;; - *) - AX_CHECK_LINK_FLAG([-Wl,--no-undefined], [AX_APPEND_FLAG([-Wl,--no-undefined], [LDFLAGS])]) - ;; -esac +if test X"${enable_sanitizer}{enable_fuzzer}" = X"nono"; then + case "$host_os" in + freebsd*|dragonfly*|openbsd*) + # On FreeBSD and Dragonfly, environ is filled in by the + # dynamic loader so we cannot use -Wl,--no-undefined. + # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263265 + # OpenBSD shared libraries don't link explicitly with libc + # which results in undefined references errors. + # Ideally we would link a shared object with -Wl,--no-undefined + # and see if it works but this is not easy in a libtool world. + ;; + *) + AX_CHECK_LINK_FLAG([-Wl,--no-undefined], [AX_APPEND_FLAG([-Wl,--no-undefined], [LDFLAGS])]) + ;; + esac +fi # # HP-UX may need to define _XOPEN_SOURCE_EXTENDED to expose MSG_WAITALL.