commit 6c3ad4cae8b967f6dc9ee98f5b01de9e327e9880 Author: Nick Mathewson nickm@torproject.org Date: Wed Jun 20 17:53:09 2018 -0400
Use different RUST_LINKER_OPTIONS for sanitizers
These appear to work for me. --- configure.ac | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac index f976cdd42..606bceeda 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)
tor-commits@lists.torproject.org