Commit 6ebb2c46 authored by Alex Crichton's avatar Alex Crichton
Browse files

Remove the `link_rust.sh.in` script

This is no longer necessary with upstream rust-lang/rust changes as well
as some local tweaks. Namely:

* The `-fsanitize=address`-style options are now passed via `-C
  link-args` through `RUSTFLAGS`. This obviates the need for the shell
  script.
* The `-C default-linker-libraries`, disabling `-nodefaultlibs`, is
  passed through `RUSTFLAGS`, which is necessary to ensure that
  `-fsanitize=address` links correctly.
* The `-C linker` option is passed to ensure we're using the same C
  compiler as normal C code, although it has a bit of hackery to only
  get the `gcc` out of `gcc -std=c99`
parent 3dca87e1
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -1210,17 +1210,17 @@ dnl variable.
RUST_LINKER_OPTIONS=""
if test "x$have_clang" = "xyes"; then
	if test "x$CFLAGS_ASAN" != "x"; then
		RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS $CFLAGS_ASAN"
		RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -Clink-arg=$CFLAGS_ASAN"
	fi
	if test "x$CFLAGS_UBSAN" != "x"; then
        	RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS $CFLAGS_UBSAN"
        	RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -Clink-arg=$CFLAGS_UBSAN"
	fi
else
	if test "x$CFLAGS_ASAN" != "x"; then
		RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -lasan"
		RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -Clink-arg=-fsanitize=address"
	fi
	if test "x$CFLAGS_UBSAN" != "x"; then
        	RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -lubsan"
        	RUST_LINKER_OPTIONS="$RUST_LINKER_OPTIONS -Clink-arg=-fsanitize=undefined"
	fi
fi
AC_SUBST(RUST_LINKER_OPTIONS)
@@ -2416,7 +2416,6 @@ AC_CONFIG_FILES([
	Doxyfile
	Makefile
	config.rust
	link_rust.sh
	contrib/dist/suse/tor.sh
	contrib/operator-tools/tor.logrotate
	contrib/dist/tor.sh

link_rust.sh.in

deleted100644 → 0
+0 −10
Original line number Diff line number Diff line
#!/bin/sh
#
# A linker script used when building Rust tests.  Autoconf makes link_rust.sh
# from link_rust_sh.in, and uses it to pass extra options to the linker
# when linking Rust stuff.
#
# We'd like to remove the need for this, but build.rs doesn't let us pass
# -static-libasan and -static-libubsan to the linker.

$CCLD @RUST_LINKER_OPTIONS@ "$@"
+1 −2
Original line number Diff line number Diff line
@@ -12,8 +12,7 @@ TESTS_ENVIRONMENT = \
	export EXTRA_CARGO_OPTIONS="$(EXTRA_CARGO_OPTIONS)"; \
	export CARGO_ONLINE="$(CARGO_ONLINE)"; \
	export CCLD="$(CCLD)"; \
	chmod +x "$(abs_top_builddir)/link_rust.sh"; \
	export RUSTFLAGS="-C linker=$(abs_top_builddir)/link_rust.sh";
	export RUSTFLAGS="-C linker=`echo '$(CC)' | cut -d' ' -f 1` $(RUST_LINKER_OPTIONS) -C default-linker-libraries";

TESTSCRIPTS = \
	src/test/fuzz_static_testcases.sh \