Skip to content

Commit

Permalink
[CI] Update binutils for powerpc64 and powerpc64le
Browse files Browse the repository at this point in the history
Cargo powerpc64 and powerpc64le are seeing `SIGILL` crashes in openssl,
which was found to be a linking problem, fixed by newer binutils. See
<#57345 (comment)>

For powerpc64 we're using crosstool-ng, which doesn't offer a newer
binutils version, but we can just compile it separately. On powerpc64le
we're already building binutils. Both are now updated to binutils 2.32.

Closes rust-lang/cargo#6320
Closes #57345
Closes rust-lang/rustup#1620
  • Loading branch information
cuviper committed Mar 7, 2019
1 parent f22dca0 commit 3477939
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
19 changes: 19 additions & 0 deletions src/ci/docker/dist-powerpc64-linux/build-powerpc64-toolchain.sh
Expand Up @@ -3,9 +3,28 @@ set -ex

source shared.sh

BINUTILS=2.32
TARGET=powerpc64-unknown-linux-gnu
PREFIX=/x-tools/$TARGET
SYSROOT=$PREFIX/$TARGET/sysroot

mkdir build
cd build
cp ../powerpc64-linux-gnu.config .config
hide_output ct-ng build
cd ..
rm -rf build

chmod -R u+w $PREFIX

# Next, download and build newer binutils.
mkdir binutils-$TARGET
pushd binutils-$TARGET
curl https://ftp.gnu.org/gnu/binutils/binutils-$BINUTILS.tar.bz2 | tar xjf -
mkdir binutils-build
cd binutils-build
hide_output ../binutils-$BINUTILS/configure --target=$TARGET --prefix=$PREFIX --with-sysroot=$SYSROOT
hide_output make -j10
hide_output make install
popd
rm -rf binutils-$TARGET
Expand Up @@ -4,7 +4,7 @@ set -ex

source shared.sh

BINUTILS=2.25.1
BINUTILS=2.32
GCC=5.3.0
TARGET=powerpc64le-linux-gnu
SYSROOT=/usr/local/$TARGET/sysroot
Expand Down

0 comments on commit 3477939

Please sign in to comment.