Skip to content

Commit 7efacb0

Browse files
Rollup merge of #156607 - mrkajetanp:freebsd-14, r=marcoieni
ci: Update FreeBSD version to FreeBSD 14 FreeBSD 12 & 13 are now EOL. The decision to move to FreeBSD 13 was not implemented due to the issues with the toolchain. Now that FreeBSD 14 is the most recent supported version, we should use it for builds in CI.
2 parents b0c869a + 19045f8 commit 7efacb0

3 files changed

Lines changed: 13 additions & 12 deletions

File tree

src/ci/docker/host-x86_64/dist-various-2/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ ENV \
4747
CFLAGS_x86_64_fortanix_unknown_sgx="-D__ELF__ -isystem/usr/include/x86_64-linux-gnu -mlvi-hardening -mllvm -x86-experimental-lvi-inline-asm-hardening" \
4848
CXX_x86_64_fortanix_unknown_sgx=clang++-11 \
4949
CXXFLAGS_x86_64_fortanix_unknown_sgx="-D__ELF__ -isystem/usr/include/x86_64-linux-gnu -mlvi-hardening -mllvm -x86-experimental-lvi-inline-asm-hardening" \
50-
AR_i686_unknown_freebsd=i686-unknown-freebsd12-ar \
51-
CC_i686_unknown_freebsd=i686-unknown-freebsd12-clang \
52-
CXX_i686_unknown_freebsd=i686-unknown-freebsd12-clang++ \
50+
AR_i686_unknown_freebsd=i686-unknown-freebsd14-ar \
51+
CC_i686_unknown_freebsd=i686-unknown-freebsd14-clang \
52+
CXX_i686_unknown_freebsd=i686-unknown-freebsd14-clang++ \
5353
CC_aarch64_unknown_uefi=clang-11 \
5454
CXX_aarch64_unknown_uefi=clang++-11 \
5555
CC_i686_unknown_uefi=clang-11 \

src/ci/docker/host-x86_64/dist-x86_64-freebsd/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ COPY scripts/cmake.sh /scripts/
2929
RUN /scripts/cmake.sh
3030

3131
ENV \
32-
AR_x86_64_unknown_freebsd=x86_64-unknown-freebsd12-ar \
33-
CC_x86_64_unknown_freebsd=x86_64-unknown-freebsd12-clang \
34-
CXX_x86_64_unknown_freebsd=x86_64-unknown-freebsd12-clang++
32+
AR_x86_64_unknown_freebsd=x86_64-unknown-freebsd14-ar \
33+
CC_x86_64_unknown_freebsd=x86_64-unknown-freebsd14-clang \
34+
CXX_x86_64_unknown_freebsd=x86_64-unknown-freebsd14-clang++
3535

3636
ENV HOSTS=x86_64-unknown-freebsd
3737

src/ci/docker/scripts/freebsd-toolchain.sh

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ set -eux
55

66
arch=$1
77
binutils_version=2.40
8-
freebsd_version=12.3
9-
triple=$arch-unknown-freebsd12
8+
freebsd_version=14.4
9+
freebsd_date=2026-03-10
10+
triple=$arch-unknown-freebsd14
1011
sysroot=/usr/local/$triple
1112

1213
hide_output() {
@@ -52,16 +53,16 @@ files_to_extract=(
5253
"./usr/lib/*crt*.o"
5354
)
5455
# Try to unpack only the libraries the build needs, to save space.
55-
for lib in c cxxrt gcc_s m thr util; do
56+
for lib in c c++ cxxrt gcc_s m thr util; do
5657
files_to_extract=("${files_to_extract[@]}" "./lib/lib${lib}.*" "./usr/lib/lib${lib}.*")
5758
done
58-
for lib in c++ c_nonshared compiler_rt execinfo gcc pthread rt ssp_nonshared procstat devstat kvm memstat; do
59+
for lib in c_nonshared compiler_rt execinfo gcc pthread rt ssp_nonshared procstat devstat kvm memstat; do
5960
files_to_extract=("${files_to_extract[@]}" "./usr/lib/lib${lib}.*")
6061
done
6162

6263
# Originally downloaded from:
6364
# URL=https://download.freebsd.org/ftp/releases/${freebsd_arch}/${freebsd_version}-RELEASE/base.txz
64-
URL=https://ci-mirrors.rust-lang.org/rustc/2022-05-06-freebsd-${freebsd_version}-${freebsd_arch}-base.txz
65+
URL=https://ci-mirrors.rust-lang.org/rustc/${freebsd_date}-freebsd-${freebsd_version}-${freebsd_arch}-base.txz
6566
curl "$URL" | tar xJf - -C "$sysroot" --wildcards "${files_to_extract[@]}"
6667

6768
# Clang can do cross-builds out of the box, if we give it the right
@@ -70,7 +71,7 @@ curl "$URL" | tar xJf - -C "$sysroot" --wildcards "${files_to_extract[@]}"
7071
# there might be other problems.)
7172
#
7273
# The --target option is last because the cross-build of LLVM uses
73-
# --target without an OS version ("-freebsd" vs. "-freebsd12"). This
74+
# --target without an OS version ("-freebsd" vs. "-freebsd14"). This
7475
# makes Clang default to libstdc++ (which no longer exists), and also
7576
# controls other features, like GNU-style symbol table hashing and
7677
# anything predicated on the version number in the __FreeBSD__

0 commit comments

Comments
 (0)