about summary refs log tree commit diff
path: root/src/ci/docker/scripts
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2020-08-05 15:58:35 -0700
committerJosh Stone <jistone@redhat.com>2020-08-09 10:38:52 -0700
commit29f5e5c574cebb5960491ba70d07be0c07548132 (patch)
treeea7fa2ea66c5cb12b3eb47a7a15214cd99ecbff7 /src/ci/docker/scripts
parent543f03d24118d3af784aa98c507c00e30c796a0e (diff)
downloadrust-29f5e5c574cebb5960491ba70d07be0c07548132.tar.gz
rust-29f5e5c574cebb5960491ba70d07be0c07548132.zip
Upgrade the FreeBSD toolchain to version 11.4
FreeBSD 10 reached its end-of-life in October 2018, and that toolchain
caused issues in the LLVM 11 upgrade (#73526) that are resolved with the
toolchain from FreeBSD 11.
Diffstat (limited to 'src/ci/docker/scripts')
-rwxr-xr-xsrc/ci/docker/scripts/freebsd-toolchain.sh24
1 files changed, 5 insertions, 19 deletions
diff --git a/src/ci/docker/scripts/freebsd-toolchain.sh b/src/ci/docker/scripts/freebsd-toolchain.sh
index 5670e10be23..b10263d5a26 100755
--- a/src/ci/docker/scripts/freebsd-toolchain.sh
+++ b/src/ci/docker/scripts/freebsd-toolchain.sh
@@ -5,8 +5,8 @@ set -eux
 
 arch=$1
 binutils_version=2.25.1
-freebsd_version=10.3
-triple=$arch-unknown-freebsd10
+freebsd_version=11.4
+triple=$arch-unknown-freebsd11
 sysroot=/usr/local/$triple
 
 hide_output() {
@@ -58,31 +58,17 @@ for lib in c++ c_nonshared compiler_rt execinfo gcc pthread rt ssp_nonshared; do
 done
 
 # Originally downloaded from:
-# https://download.freebsd.org/ftp/releases/${freebsd_arch}/${freebsd_version}-RELEASE/base.txz
-URL=https://ci-mirrors.rust-lang.org/rustc/2019-04-04-freebsd-${freebsd_arch}-${freebsd_version}-RELEASE-base.txz
+# URL=https://download.freebsd.org/ftp/releases/${freebsd_arch}/${freebsd_version}-RELEASE/base.txz
+URL=https://ci-mirrors.rust-lang.org/rustc/2020-08-09-freebsd-${freebsd_arch}-${freebsd_version}-RELEASE-base.txz
 curl "$URL" | tar xJf - -C "$sysroot" --wildcards "${files_to_extract[@]}"
 
-# Fix up absolute symlinks from the system image.  This can be removed
-# for FreeBSD 11.  (If there's an easy way to make them relative
-# symlinks instead, feel free to change this.)
-set +x
-find "$sysroot" -type l | while read symlink_path; do
-  symlink_target=$(readlink "$symlink_path")
-  case $symlink_target in
-    (/*)
-      echo "Fixing symlink ${symlink_path} -> ${sysroot}${symlink_target}" >&2
-      ln -nfs "${sysroot}${symlink_target}" "${symlink_path}" ;;
-  esac
-done
-set -x
-
 # Clang can do cross-builds out of the box, if we give it the right
 # flags.  (The local binutils seem to work, but they set the ELF
 # header "OS/ABI" (EI_OSABI) field to SysV rather than FreeBSD, so
 # there might be other problems.)
 #
 # The --target option is last because the cross-build of LLVM uses
-# --target without an OS version ("-freebsd" vs. "-freebsd10").  This
+# --target without an OS version ("-freebsd" vs. "-freebsd11").  This
 # makes Clang default to libstdc++ (which no longer exists), and also
 # controls other features, like GNU-style symbol table hashing and
 # anything predicated on the version number in the __FreeBSD__