diff options
| author | Josh Stone <jistone@redhat.com> | 2020-08-05 15:58:35 -0700 |
|---|---|---|
| committer | Josh Stone <jistone@redhat.com> | 2020-08-09 10:38:52 -0700 |
| commit | 29f5e5c574cebb5960491ba70d07be0c07548132 (patch) | |
| tree | ea7fa2ea66c5cb12b3eb47a7a15214cd99ecbff7 /src/ci/docker/scripts | |
| parent | 543f03d24118d3af784aa98c507c00e30c796a0e (diff) | |
| download | rust-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-x | src/ci/docker/scripts/freebsd-toolchain.sh | 24 |
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__ |
