Update to LLVM 23 - #158734
Conversation
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
💔 Test for b003a3f failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@bors try |
This comment has been minimized.
This comment has been minimized.
|
💔 Test for 0259978 failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@bors try |
This comment has been minimized.
This comment has been minimized.
|
💔 Test for 4973bfc failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
|
perfect, I dropped the last commit and only left my earlier gcc fix, as well as Nikita's PR in here. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
💔 Test for af2b20b failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
|
I've updated it to 10.1.0, the same that I also used for netbsd. Let's see if it passes: #160042 (comment) |
|
Please be sure to heed the comment about verifying the correctness of the binaries produced by the cross compiler if you're going to change the GCC version! |
|
We would appreciate your help with that verification :) |
I understand. It's midnight on Friday night and I just heard about this, so I wanted to make sure we're not just going to bump the number and move on before we take a look in the next couple of days. Thanks for the heads up. |
|
LLVM theoretically supports GCC >= 7.4, so submitting a workaround for the issue upstream may work as well (i.e. use uint64_t instead of the enum class plus LLVM_PREFERRED_TYPE -- most likely this is also needed to actually get bit packing on MSVC). Also I'm kind of confused why I didn't hit this when running the docker images locally before. I may have done something wrong, because this doesn't look like a problem when would have been introduced in the time since I tested it. |
|
Per https://stackoverflow.com/a/73511549, I think we can also disable |
|
Oh, I didn't realize this is our own -Werror. We should definitely disable it for builds using GCC. (LLVM is not supposed to be warning free when using GCC, only when using recent Clang. And this can affect building our bindings via headers.) |
|
I'll take a look into that. |
| ("__aeabi_frsub", "arm/aeabi_frsub.c"), | ||
| ("__aeabi_uread4", "arm/aeabi_uread4.S"), | ||
| ("__aeabi_uread8", "arm/aeabi_uread8.S"), | ||
| ("__aeabi_uwrite4", "arm/aeabi_uwrite4.S"), | ||
| ("__aeabi_uwrite8", "arm/aeabi_uwrite8.S"), | ||
| ("__bswapdi2", "arm/bswapdi2.S"), |
There was a problem hiding this comment.
@tgross35 I don't need to do anything special for compiler-rt files that don't exist in previous LLVM versions, right? People not building against the vendored compiler-rt must use the precompiled compiler-rt functionality (optimized-compiler-builtins set to a path), correct?
It should just work here; these paths are relative to RUST_COMPILER_RT_ROOT which gets set by bootstrap
https://github.com/rust-lang/compiler-builtins/blob/842b28fe3bc09b643ddaf639f2648f33ecbc0634/ci/download-compiler-rt.sh will need to be updated to get CI in that repo to work, but I can do that later.
c-b changes LGTM
|
@bors try jobs=dist-x86_64-illumos |
This comment has been minimized.
This comment has been minimized.
|
runner is unexpectedly slow, restarting |
|
⌛ Trying commit 8937199 with merge 9523e21… (The previously running try build was automatically cancelled.) To cancel the try build, run the command Workflow: https://github.com/rust-lang/rust/actions/runs/30843935591 |
View all comments
Changes in this PR (apart from the LLVM update):
LLVM_VERSIONED_DYLIB_NAME_ON_DARWIN=OFF, which restores the previous unversioned naming of the LLVM dylib on Darwin. I expect we'll want to change this for consistency with Linux, but given the amount of trouble Darwin dylibs have caused in the past, I'm not trying to do it in this PR.i686-pc-windows-gnuhost tools compiler-team#1020.Issues: