From: Nick Mathewson Date: Wed, 20 Jun 2018 21:53:09 +0000 (-0400) Subject: Use different RUST_LINKER_OPTIONS for sanitizers X-Git-Tag: tor-0.3.4.3-alpha~7^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6c3ad4cae8b967f6dc9ee98f5b01de9e327e9880;p=thirdparty%2Ftor.git Use different RUST_LINKER_OPTIONS for sanitizers These appear to work for me. --- diff --git a/configure.ac b/configure.ac index f976cdd42d..606bceeda5 100644 --- a/configure.ac +++ b/configure.ac @@ -1128,11 +1128,20 @@ dnl What's more, we need to specify them in a linker script rather than dnl from build.rs: these options aren't allowed in the cargo:rustc-flags dnl variable. RUST_LINKER_OPTIONS="" -if test "x$CFLAGS_ASAN" != "x"; then - RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -static-libasan" -fi -if test "x$CFLAGS_UBSAN" != "x"; then - RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -static-libubsan" +if test "x$have_clang" = "xyes"; then + if test "x$CFLAGS_ASAN" != "x"; then + RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS $CFLAGS_ASAN" + fi + if test "x$CFLAGS_UBSAN" != "x"; then + RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS $CFLAGS_UBSAN" + fi +else + if test "x$CFLAGS_ASAN" != "x"; then + RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -lasan" + fi + if test "x$CFLAGS_UBSAN" != "x"; then + RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -lubsan" + fi fi AC_SUBST(RUST_LINKER_OPTIONS)