diff options
| author | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2017-02-25 14:13:30 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-02-25 14:13:30 +0200 |
| commit | 411d8e95dbbe8d7de1ea9ca6b95abf95f8c49e38 (patch) | |
| tree | 3bc4116d281a08af61df8c4871fe5d047f9aeb51 /src/ci/docker | |
| parent | 5c0b4b369167060aa73368374d48a7de6c812376 (diff) | |
| parent | 9a08f40349c3c3182845b31b1d7a26b7af5245a3 (diff) | |
| download | rust-411d8e95dbbe8d7de1ea9ca6b95abf95f8c49e38.tar.gz rust-411d8e95dbbe8d7de1ea9ca6b95abf95f8c49e38.zip | |
Rollup merge of #40019 - alexcrichton:fix-musl, r=brson
travis: Compile a more compatible libc.a for musl The mitigations for #34978 involve passing `-Wa,-mrelax-relocations=no` to all C code we compile, and we just forgot to pass it when compiling musl itself. Closes #39979
Diffstat (limited to 'src/ci/docker')
| -rw-r--r-- | src/ci/docker/linux-tested-targets/Dockerfile | 8 | ||||
| -rw-r--r-- | src/ci/docker/linux-tested-targets/build-musl.sh | 5 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/ci/docker/linux-tested-targets/Dockerfile b/src/ci/docker/linux-tested-targets/Dockerfile index 9906b162cc2..e935226e361 100644 --- a/src/ci/docker/linux-tested-targets/Dockerfile +++ b/src/ci/docker/linux-tested-targets/Dockerfile @@ -34,6 +34,14 @@ ENV RUST_CONFIGURE_ARGS \ --musl-root-x86_64=/musl-x86_64 \ --musl-root-i686=/musl-i686 +# Newer binutils broke things on some vms/distros (i.e., linking against +# unknown relocs disabled by the following flag), so we need to go out of our +# way to produce "super compatible" binaries. +# +# See: https://github.com/rust-lang/rust/issues/34978 +ENV CFLAGS_i686_unknown_linux_gnu=-Wa,-mrelax-relocations=no \ + CFLAGS_x86_64_unknown_linux_gnu=-Wa,-mrelax-relocations=no + ENV SCRIPT \ python2.7 ../x.py test \ --target x86_64-unknown-linux-musl \ diff --git a/src/ci/docker/linux-tested-targets/build-musl.sh b/src/ci/docker/linux-tested-targets/build-musl.sh index 260dc11509f..ce62c392241 100644 --- a/src/ci/docker/linux-tested-targets/build-musl.sh +++ b/src/ci/docker/linux-tested-targets/build-musl.sh @@ -11,7 +11,10 @@ set -ex -export CFLAGS="-fPIC" +# We need to mitigate rust-lang/rust#34978 when compiling musl itself as well +export CFLAGS="-fPIC -Wa,-mrelax-relocations=no" +export CXXFLAGS="-Wa,-mrelax-relocations=no" + MUSL=musl-1.1.14 curl https://www.musl-libc.org/releases/$MUSL.tar.gz | tar xzf - cd $MUSL |
