Skip to content

Commit

Permalink
Rollup merge of rust-lang#58986 - cuviper:ppc64-binutils, r=alexcrichton
Browse files Browse the repository at this point in the history
[CI] Update binutils for powerpc64 and powerpc64le

Cargo powerpc64 and powerpc64le are seeing `SIGILL` crashes in openssl,
which was found to be a linking problem, fixed by newer binutils. See
<rust-lang#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 rust-lang#57345
Closes rust-lang/rustup#1620

r? @alexcrichton
  • Loading branch information
kennytm authored Mar 15, 2019
2 parents 4b4707e + c843fe7 commit 6a0e3cd
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
20 changes: 20 additions & 0 deletions src/ci/docker/dist-powerpc64-linux/build-powerpc64-toolchain.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,29 @@ 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
Original file line number Diff line number Diff line change
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 6a0e3cd

Please sign in to comment.