From 21e65fb5ebb76e526cef6fa399a3827780cebcb1 Mon Sep 17 00:00:00 2001 From: Gregory Szorc Date: Wed, 21 Feb 2024 21:38:08 -0800 Subject: [PATCH] downloads: upgrade LLVM toolchains 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. --- pythonbuild/downloads.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pythonbuild/downloads.py b/pythonbuild/downloads.py index 9b6b8319..d0e5d689 100644 --- a/pythonbuild/downloads.py +++ b/pythonbuild/downloads.py @@ -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",