Skip to content

Commit 59b1f52

Browse files
authored
[Rootfs] Update RootFS and GCC version for aarch64-apple-darwin (#228)
* [Rootfs] Update RootFS build * [Rootfs] Add new build of GCC for `aarch64-apple-darwin`
1 parent 9c15402 commit 59b1f52

File tree

3 files changed

+39
-14
lines changed

3 files changed

+39
-14
lines changed

Artifacts.toml

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,28 @@ os = "linux"
2020
sha256 = "e0d112457ef4543908c36c13c55b1d20d75f50380e071b5290e7c6b51855694b"
2121
url = "https://github.com/JuliaPackaging/Yggdrasil/releases/download/GCCBootstrap-v11.0.0-iains/GCCBootstrap-aarch64-apple-darwin20.v11.0.0-iains.x86_64-linux-musl.unpacked.tar.gz"
2222

23+
[["GCCBootstrap-aarch64-apple-darwin20.v12.0.1-iains.x86_64-linux-musl.squashfs"]]
24+
arch = "x86_64"
25+
git-tree-sha1 = "fde256ed93d833d11d921332df9d254962583e94"
26+
lazy = true
27+
libc = "musl"
28+
os = "linux"
29+
30+
[["GCCBootstrap-aarch64-apple-darwin20.v12.0.1-iains.x86_64-linux-musl.squashfs".download]]
31+
sha256 = "fc86772e26efcf4a777895334861ac43a51c0530291598cad2463db73dff74c4"
32+
url = "https://github.com/JuliaPackaging/Yggdrasil/releases/download/GCCBootstrap-v12.0.1-iains/GCCBootstrap-aarch64-apple-darwin20.v12.0.1-iains.x86_64-linux-musl.squashfs.tar.gz"
33+
34+
[["GCCBootstrap-aarch64-apple-darwin20.v12.0.1-iains.x86_64-linux-musl.unpacked"]]
35+
arch = "x86_64"
36+
git-tree-sha1 = "d6f2dc0e73e8796cb9bb992a4970412bc9e4cea3"
37+
lazy = true
38+
libc = "musl"
39+
os = "linux"
40+
41+
[["GCCBootstrap-aarch64-apple-darwin20.v12.0.1-iains.x86_64-linux-musl.unpacked".download]]
42+
sha256 = "d6ab9dc831485214eac9995e8614d34cfd2cc9f806e00b0cfdb8c425cbbc4520"
43+
url = "https://github.com/JuliaPackaging/Yggdrasil/releases/download/GCCBootstrap-v12.0.1-iains/GCCBootstrap-aarch64-apple-darwin20.v12.0.1-iains.x86_64-linux-musl.unpacked.tar.gz"
44+
2345
[["GCCBootstrap-aarch64-linux-gnu.v10.2.0.x86_64-linux-musl.squashfs"]]
2446
arch = "x86_64"
2547
git-tree-sha1 = "48b35d2a1ffc89eccafdbb1480081bca923ebfa4"
@@ -2814,27 +2836,27 @@ os = "linux"
28142836
sha256 = "5cc8c42875360e9ff28e49135556363bdb43a837d660fbd86fafe64529d2abcd"
28152837
url = "https://github.com/JuliaPackaging/Yggdrasil/releases/download/PlatformSupport-v2021.8.10/PlatformSupport-x86_64-w64-mingw32.v2021.8.10.x86_64-linux-musl.unpacked.tar.gz"
28162838

2817-
[["Rootfs.v2022.2.5.x86_64-linux-musl.squashfs"]]
2839+
[["Rootfs.v2022.3.5.x86_64-linux-musl.squashfs"]]
28182840
arch = "x86_64"
2819-
git-tree-sha1 = "45bebe2108ea52c92941030d319eb414727f84dc"
2841+
git-tree-sha1 = "711007e9f06dbd041af01abf10baefef4db58fbd"
28202842
lazy = true
28212843
libc = "musl"
28222844
os = "linux"
28232845

2824-
[["Rootfs.v2022.2.5.x86_64-linux-musl.squashfs".download]]
2825-
sha256 = "863437794e9c7a5e7962648ae25008b592bf0cc5b275669f19bc5d8b89c89e12"
2826-
url = "https://github.com/JuliaPackaging/Yggdrasil/releases/download/Rootfs-v2022.2.5/Rootfs.v2022.2.5.x86_64-linux-musl.squashfs.tar.gz"
2846+
[["Rootfs.v2022.3.5.x86_64-linux-musl.squashfs".download]]
2847+
sha256 = "1f90cf9ef2ea181bf985873ba9305858a6c1b67f834eca3c63d5628bdf5c40ae"
2848+
url = "https://github.com/JuliaPackaging/Yggdrasil/releases/download/Rootfs-v2022.3.5/Rootfs.v2022.3.5.x86_64-linux-musl.squashfs.tar.gz"
28272849

2828-
[["Rootfs.v2022.2.5.x86_64-linux-musl.unpacked"]]
2850+
[["Rootfs.v2022.3.5.x86_64-linux-musl.unpacked"]]
28292851
arch = "x86_64"
2830-
git-tree-sha1 = "34dae1bda740e22fb6bb40b54c6fac8ebd6ce7a3"
2852+
git-tree-sha1 = "35b8a8925cc319dd6caeb3b12c58e691dd61e50c"
28312853
lazy = true
28322854
libc = "musl"
28332855
os = "linux"
28342856

2835-
[["Rootfs.v2022.2.5.x86_64-linux-musl.unpacked".download]]
2836-
sha256 = "1df8588e642ce3efb26076fabf43dcdbcbfa8e509a8e980d890a649728efee52"
2837-
url = "https://github.com/JuliaPackaging/Yggdrasil/releases/download/Rootfs-v2022.2.5/Rootfs.v2022.2.5.x86_64-linux-musl.unpacked.tar.gz"
2857+
[["Rootfs.v2022.3.5.x86_64-linux-musl.unpacked".download]]
2858+
sha256 = "5562fd59712e37c941001d207a3d49b6d951932874bfa1795132bd1e5bb93397"
2859+
url = "https://github.com/JuliaPackaging/Yggdrasil/releases/download/Rootfs-v2022.3.5/Rootfs.v2022.3.5.x86_64-linux-musl.unpacked.tar.gz"
28382860

28392861
[["RustBase.v1.57.0.x86_64-linux-musl.squashfs"]]
28402862
arch = "x86_64"

src/Rootfs.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,10 @@ const available_gcc_builds = [
393393
GCCBuild(v"9.1.0", (libgfortran_version = v"5", libstdcxx_version = v"3.4.26", cxxstring_abi = "cxx11")),
394394
GCCBuild(v"10.2.0", (libgfortran_version = v"5", libstdcxx_version = v"3.4.28", cxxstring_abi = "cxx11")),
395395
GCCBuild(v"11.1.0", (libgfortran_version = v"5", libstdcxx_version = v"3.4.29", cxxstring_abi = "cxx11")),
396-
GCCBuild(v"11.0.0-iains", (libgfortran_version = v"5", libstdcxx_version = v"3.4.28", cxxstring_abi = "cxx11")),
396+
## v"11.0.0-iains" is a very old build with some ABI incompatibilities with new versions (for example `libgcc_s`
397+
## soversion, see https://github.com/JuliaLang/julia/issues/44435), let's pretend it never existed.
398+
# GCCBuild(v"11.0.0-iains", (libgfortran_version = v"5", libstdcxx_version = v"3.4.28", cxxstring_abi = "cxx11")),
399+
GCCBuild(v"12.0.1-iains", (libgfortran_version = v"5", libstdcxx_version = v"3.4.29", cxxstring_abi = "cxx11")),
397400
]
398401
const available_llvm_builds = [
399402
LLVMBuild(v"6.0.1"),
@@ -535,7 +538,7 @@ consists of four shards, but that may not always be the case.
535538
"""
536539
function choose_shards(p::AbstractPlatform;
537540
compilers::Vector{Symbol} = [:c],
538-
rootfs_build::VersionNumber=v"2022.2.5",
541+
rootfs_build::VersionNumber=v"2022.3.5",
539542
ps_build::VersionNumber=v"2021.08.10",
540543
GCC_builds::Vector{GCCBuild}=available_gcc_builds,
541544
LLVM_builds::Vector{LLVMBuild}=available_llvm_builds,
@@ -555,7 +558,7 @@ function choose_shards(p::AbstractPlatform;
555558
# aarch64-apple-darwin is a special platform because it has a single GCCBootstrap
556559
# with a version number different from any other platforms: match this shard with a
557560
# regular GCCBootstrap v11 for the host.
558-
if name == "GCCBootstrap" && version == v"11.0.0-iains" && target !== nothing && Sys.islinux(target)
561+
if name == "GCCBootstrap" && version == v"12.0.1-iains" && target !== nothing && Sys.islinux(target)
559562
version = v"11.1.0"
560563
end
561564

test/rootfs.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ end
148148
@test gcc_version(p, available_gcc_builds) == [v"7.1.0"]
149149

150150
p = Platform("armv7l", "linux"; march="neonvfpv4")
151-
@test gcc_version(p, available_gcc_builds) == [v"5.2.0", v"6.1.0", v"7.1.0", v"8.1.0", v"9.1.0", v"10.2.0", v"11.1.0", v"11.0.0-iains"]
151+
@test gcc_version(p, available_gcc_builds) == [v"5.2.0", v"6.1.0", v"7.1.0", v"8.1.0", v"9.1.0", v"10.2.0", v"11.1.0", v"12.0.1-iains"]
152152

153153
# When Rust is used on x86_64 Windows, we have to use at least binutils
154154
# 2.25, which we bundle with at least GCC 5.

0 commit comments

Comments
 (0)