Skip to content

Commit

Permalink
downloads: upgrade LLVM toolchains
Browse files Browse the repository at this point in the history
The Linux toolchain should be unchanged.

The Apple toolchains now contain LLD and should use it by default.

Previously, we would use `/usr/bin/ld` on macOS machines. In GitHub
Actions, the system linker has a fixed-in-LLVM-15 bug where weak symbols
are not preserved during LTO. This was causing LTO'd binaries to
strongly reference symbols from too-new Apple SDKs and for binaries
to fail to run on those OS versions.

This bug has apparently been present for ages. But we failed to realize
the full extent of it until we attempted to upgrade macOS GitHub
Actions runners and encountered CI failures when verifying symbol
macOS version compatibility against metadata in the Apple SDK. Yay
for CI coverage of that!

Closes #216.
  • Loading branch information
indygreg committed Feb 23, 2024
1 parent 90c83dd commit 21e65fb
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions pythonbuild/downloads.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,22 +176,22 @@
"version": "14.0.3+20220508",
},
"llvm-17-x86_64-linux": {
"url": "https://github.com/indygreg/toolchain-tools/releases/download/toolchain-bootstrap%2F20240107/llvm-17.0.6+20240107-gnu_only-x86_64-unknown-linux-gnu.tar.zst",
"size": 229334033,
"sha256": "bf8fd56f0e56eba4f3d4b8c10d5e83b314878c3b4bae442a049adf2aeeed2784",
"version": "17.0.6+20240107",
"url": "https://github.com/indygreg/toolchain-tools/releases/download/toolchain-bootstrap%2F20240222/llvm-17.0.6+20240222-gnu_only-x86_64-unknown-linux-gnu.tar.zst",
"size": 229404408,
"sha256": "fc5e9092a8915dde438c3b491c5e6321594de541245b619f391edba719e4bd4f",
"version": "17.0.6+20240222",
},
"llvm-aarch64-macos": {
"url": "https://github.com/indygreg/toolchain-tools/releases/download/toolchain-bootstrap%2F20240107/llvm-17.0.6+20240107-aarch64-apple-darwin.tar.zst",
"size": 122215378,
"sha256": "ab73534d8cc4ab1767bcee8cf77ca9fb346f1c9866d292fff06b267b9fef9b77",
"version": "17.0.6+20240107",
"url": "https://github.com/indygreg/toolchain-tools/releases/download/toolchain-bootstrap%2F20240222/llvm-17.0.6+20240222-aarch64-apple-darwin.tar.zst",
"size": 131303875,
"sha256": "e1acf616780f32787b37b5534cb342c0e1e4a56b80cb9283f537fd8c9976e0d1",
"version": "17.0.6+20240222",
},
"llvm-x86_64-macos": {
"url": "https://github.com/indygreg/toolchain-tools/releases/download/toolchain-bootstrap%2F20240107/llvm-17.0.6+20240107-x86_64-apple-darwin.tar.zst",
"size": 127474959,
"sha256": "3b78fb70806493ad423b19ec8c2e4fa28963bd0c8a4e01fd41f6ad651382ece8",
"version": "17.0.6+20240107",
"url": "https://github.com/indygreg/toolchain-tools/releases/download/toolchain-bootstrap%2F20240222/llvm-17.0.6+20240222-x86_64-apple-darwin.tar.zst",
"size": 131306317,
"sha256": "086d8c2fcb0e856b17a76f1c722a006fb62981e1c0f5f7a0ce3c912bd983c4d0",
"version": "17.0.6+20240222",
},
"m4": {
"url": "https://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.xz",
Expand Down

0 comments on commit 21e65fb

Please sign in to comment.