Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dist-riscv64-linux to binutils 2.40 #127613

Merged
merged 1 commit into from
Jul 12, 2024
Merged

Conversation

nikic
Copy link
Contributor

@nikic nikic commented Jul 11, 2024

binutils 2.40 is required by LLVM 19, as older versions do not know about the zmmul extension.

I've had to backport some patches to glibc and gcc as well, as they don't build with binutils 2.40. Alternatively, we could also switch to glibc 2.35 and gcc 10 (I think). I figured we'd want to avoid the glibc version change, but if that's fine for riscv I can go with that instead.

r? @cuviper

try-job: dist-riscv64-linux

binutils 2.40 is required by LLVM 19, as older versions do not
know about the zmmull extension.

I've had to backport some patches to glibc and gcc as well,
as they don't build with binutils 2.40. Alternatively, we could
also switch to glibc 2.35 and gcc 12 (I think). I figured we'd
want to avoid the glibc version change, but if that's fine for
riscv I can go with that instead.
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Jul 11, 2024
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This patch is just here so the other one applies cleanly.

@cuviper
Copy link
Member

cuviper commented Jul 11, 2024

@bors try

@bors
Copy link
Contributor

bors commented Jul 11, 2024

⌛ Trying commit 55256c5 with merge 778d1ce...

bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 11, 2024
Update dist-riscv64-linux to binutils 2.40

binutils 2.40 is required by LLVM 19, as older versions do not know about the zmmul extension.

I've had to backport some patches to glibc and gcc as well, as they don't build with binutils 2.40. Alternatively, we could also switch to glibc 2.35 and gcc 10 (I think). I figured we'd want to avoid the glibc version change, but if that's fine for riscv I can go with that instead.

r? `@cuviper`

try-job: dist-riscv64-linux
@bors
Copy link
Contributor

bors commented Jul 11, 2024

☀️ Try build successful - checks-actions
Build commit: 778d1ce (778d1ce8ad29580c267a37db539f18930401e0d8)

@cuviper
Copy link
Member

cuviper commented Jul 11, 2024

LGTM, and I also tested that try-build locally -- under qemu since I don't have the HW. I agree that it's better to maintain the glibc version if we can, especially since you already did the work. :)

@bors r+

@bors
Copy link
Contributor

bors commented Jul 11, 2024

📌 Commit 55256c5 has been approved by cuviper

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 11, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jul 12, 2024
Update dist-riscv64-linux to binutils 2.40

binutils 2.40 is required by LLVM 19, as older versions do not know about the zmmul extension.

I've had to backport some patches to glibc and gcc as well, as they don't build with binutils 2.40. Alternatively, we could also switch to glibc 2.35 and gcc 10 (I think). I figured we'd want to avoid the glibc version change, but if that's fine for riscv I can go with that instead.

r? `@cuviper`

try-job: dist-riscv64-linux
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 12, 2024
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#124980 (Generalize `fn allocator` for Rc/Arc.)
 - rust-lang#126639 (Add AMX target-features and `x86_amx_intrinsics` feature flag)
 - rust-lang#126827 (Use pidfd_spawn for faster process spawning when a PidFd is requested)
 - rust-lang#127397 (fix interleaved output in the default panic hook when multiple threads panic simultaneously)
 - rust-lang#127433 (Stabilize const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes))
 - rust-lang#127613 (Update dist-riscv64-linux to binutils 2.40)
 - rust-lang#127632 (Implement `precise_capturing` support for rustdoc)

r? `@ghost`
`@rustbot` modify labels: rollup
workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Jul 12, 2024
Update dist-riscv64-linux to binutils 2.40

binutils 2.40 is required by LLVM 19, as older versions do not know about the zmmul extension.

I've had to backport some patches to glibc and gcc as well, as they don't build with binutils 2.40. Alternatively, we could also switch to glibc 2.35 and gcc 10 (I think). I figured we'd want to avoid the glibc version change, but if that's fine for riscv I can go with that instead.

r? ``@cuviper``

try-job: dist-riscv64-linux
@nikic nikic mentioned this pull request Jul 12, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jul 12, 2024
Update dist-riscv64-linux to binutils 2.40

binutils 2.40 is required by LLVM 19, as older versions do not know about the zmmul extension.

I've had to backport some patches to glibc and gcc as well, as they don't build with binutils 2.40. Alternatively, we could also switch to glibc 2.35 and gcc 10 (I think). I figured we'd want to avoid the glibc version change, but if that's fine for riscv I can go with that instead.

r? ```@cuviper```

try-job: dist-riscv64-linux
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 12, 2024
…iaskrgr

Rollup of 6 pull requests

Successful merges:

 - rust-lang#124944 (On trait bound mismatch, detect multiple crate versions in dep tree)
 - rust-lang#124980 (Generalize `fn allocator` for Rc/Arc.)
 - rust-lang#126639 (Add AMX target-features and `x86_amx_intrinsics` feature flag)
 - rust-lang#126827 (Use pidfd_spawn for faster process spawning when a PidFd is requested)
 - rust-lang#127433 (Stabilize const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes))
 - rust-lang#127613 (Update dist-riscv64-linux to binutils 2.40)

r? `@ghost`
`@rustbot` modify labels: rollup
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jul 12, 2024
Update dist-riscv64-linux to binutils 2.40

binutils 2.40 is required by LLVM 19, as older versions do not know about the zmmul extension.

I've had to backport some patches to glibc and gcc as well, as they don't build with binutils 2.40. Alternatively, we could also switch to glibc 2.35 and gcc 10 (I think). I figured we'd want to avoid the glibc version change, but if that's fine for riscv I can go with that instead.

r? ````@cuviper````

try-job: dist-riscv64-linux
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 12, 2024
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#124980 (Generalize `fn allocator` for Rc/Arc.)
 - rust-lang#126639 (Add AMX target-features and `x86_amx_intrinsics` feature flag)
 - rust-lang#126827 (Use pidfd_spawn for faster process spawning when a PidFd is requested)
 - rust-lang#127153 (Initial implementation of anonymous_pipe API)
 - rust-lang#127433 (Stabilize const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes))
 - rust-lang#127552 (remove unnecessary `git` usages)
 - rust-lang#127613 (Update dist-riscv64-linux to binutils 2.40)
 - rust-lang#127627 (generalize search graph to enable fuzzing)
 - rust-lang#127648 (Lower timeout of CI jobs to 4 hours)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 12, 2024
…iaskrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#124980 (Generalize `fn allocator` for Rc/Arc.)
 - rust-lang#126639 (Add AMX target-features and `x86_amx_intrinsics` feature flag)
 - rust-lang#126827 (Use pidfd_spawn for faster process spawning when a PidFd is requested)
 - rust-lang#127433 (Stabilize const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes))
 - rust-lang#127552 (remove unnecessary `git` usages)
 - rust-lang#127613 (Update dist-riscv64-linux to binutils 2.40)
 - rust-lang#127627 (generalize search graph to enable fuzzing)
 - rust-lang#127648 (Lower timeout of CI jobs to 4 hours)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit f5fa6fb into rust-lang:master Jul 12, 2024
7 checks passed
@rustbot rustbot added this to the 1.81.0 milestone Jul 12, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jul 12, 2024
Rollup merge of rust-lang#127613 - nikic:riscv-update, r=cuviper

Update dist-riscv64-linux to binutils 2.40

binutils 2.40 is required by LLVM 19, as older versions do not know about the zmmul extension.

I've had to backport some patches to glibc and gcc as well, as they don't build with binutils 2.40. Alternatively, we could also switch to glibc 2.35 and gcc 10 (I think). I figured we'd want to avoid the glibc version change, but if that's fine for riscv I can go with that instead.

r? `````@cuviper`````

try-job: dist-riscv64-linux
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 25, 2024
Update to LLVM 19

Related changes:
 * rust-lang#127605
 * rust-lang#127613
 * rust-lang#127654
 * rust-lang#128141
 * llvm/llvm-project#98933

try-job: dist-x86_64-apple
try-job: dist-apple-various
try-job: x86_64-apple-1
try-job: x86_64-apple-2
try-job: dist-aarch64-apple
try-job: aarch64-apple
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 25, 2024
Update to LLVM 19

Related changes:
 * rust-lang#127605
 * rust-lang#127613
 * rust-lang#127654
 * rust-lang#128141
 * llvm/llvm-project#98933

try-job: x86_64-msvc
try-job: i686-msvc
try-job: x86_64-msvc-ext
try-job: dist-x86_64-msvc
try-job: dist-i686-msvc
try-job: dist-aarch64-msvc
try-job: dist-x86_64-msvc-alt
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 25, 2024
Update to LLVM 19

Related changes:
 * rust-lang#127605
 * rust-lang#127613
 * rust-lang#127654
 * rust-lang#128141
 * llvm/llvm-project#98933

try-job: i686-mingw
try-job: x86_64-mingw
try-job: dist-i686-mingw
try-job: dist-x86_64-mingw
jaisnan pushed a commit to jaisnan/rust-dev that referenced this pull request Jul 29, 2024
Update Rust toolchain from nightly-2024-07-12 to nightly-2024-07-13
without any other source changes.
This is an automatically generated pull request. If any of the CI checks
fail, manual intervention is required. In such a case, review the
changes at https://github.com/rust-lang/rust from
rust-lang@5315cbe
up to
rust-lang@c6727fc.
The log for this commit range is:
rust-lang@c6727fc9b5 Auto merge of
rust-lang#123351 - beetrees:x86-ret-snan-rust, r=nikic,workingjubilee
rust-lang@62c068feea Auto merge of
rust-lang#127636 - nnethercote:fix-Parser-look_ahead, r=oli-obk
rust-lang@5d76a13bbe Auto merge of
rust-lang#127653 - matthiaskrgr:rollup-72bqgvp, r=matthiaskrgr
rust-lang@f11c2c8e95 Rollup merge of
rust-lang#127648 - Kobzol:ci-lower-timeout, r=pietroalbini
rust-lang@526da2366a Rollup merge of
rust-lang#127627 - lcnr:rustc_search_graph, r=compiler-errors
rust-lang@f5fa6fb602 Rollup merge of
rust-lang#127613 - nikic:riscv-update, r=cuviper
rust-lang@b4f002d2e5 Rollup merge of
rust-lang#127552 - onur-ozkan:unnecessary-git-usage, r=Kobzol
rust-lang@8ceb4e49ff Rollup merge of
rust-lang#127433 - dtolnay:conststrlen, r=workingjubilee
rust-lang@f9b3e8b387 Rollup merge of
rust-lang#126827 - the8472:pidfd-spawn, r=workingjubilee
rust-lang@18152d72a4 Rollup merge of
rust-lang#126639 - sayantn:amx, r=Amanieu
rust-lang@65ea92d4a1 Rollup merge of
rust-lang#124980 - zachs18:rc-allocator, r=Amanieu
rust-lang@05eac57ef6 Auto merge of
rust-lang#127479 - Urgau:rustc-stable-hash, r=michaelwoerister
rust-lang@15f770b143 enable fuzzing of
`SearchGraph`
rust-lang@cae9d480bf Adjust tests for x86
"Rust" ABI changes
rust-lang@3f4b9dd463 Lower timeout of CI
jobs to 4 hours
rust-lang@7f1518bddd Add instability
attribute on private const_strlen function
rust-lang@b286722878 Auto merge of
rust-lang#127635 - matthiaskrgr:rollup-foopajr, r=matthiaskrgr
rust-lang@100f3fd133 Add a new special
case to `Parser::look_ahead`.
rust-lang@ebe1305b1e Remove the bogus
special case from `Parser::look_ahead`.
rust-lang@dad95578b0 Add unit tests for
`Parser::look_ahead`.
rust-lang@ec05c4ea3f Add the feature gate
and target-features
rust-lang@c2b7842555 Rollup merge of
rust-lang#127625 - SkiFire13:revert-comment-deletion, r=workingjubilee
rust-lang@ca576eae4e Rollup merge of
rust-lang#127622 - compiler-errors:builtin-internal, r=lqd
rust-lang@fe564c10ab Rollup merge of
rust-lang#127607 - Zalathar:normalize-hint, r=wesleywiser
rust-lang@83d1a1b252 Rollup merge of
rust-lang#127596 - tesuji:help-unwrap-or, r=compiler-errors
rust-lang@1e7ad4c3ed Rollup merge of
rust-lang#127422 - greaka:master, r=workingjubilee
rust-lang@58fe37f2c3 Rollup merge of
rust-lang#127164 - Nadrieril:clean-lowering-loop, r=matthewjasper
rust-lang@4a31a6c32a Auto merge of
rust-lang#127382 - estebank:const-let, r=compiler-errors
rust-lang@5e311f933d Auto merge of
rust-lang#127614 - matthiaskrgr:rollup-8geziwi, r=matthiaskrgr
rust-lang@a776e5f922 Add doc for
deconstruct_option_or_result
rust-lang@872d7b82e1 Add suggestion for
`Option<&Vec<T>> -> Option<&[T]`
rust-lang@d9170dc666 Add regression test
for issue 127545
rust-lang@4df75140dd Fix aarch64 test
rust-lang@cbe75486f7 Account for `let foo
= expr`; to suggest `const foo: Ty = expr;`
rust-lang@b56dc8ee90 Use verbose style
when suggesting changing `const` with `let`
rust-lang@d9021791eb Revert accidental
comment deletion
rust-lang@b77d3ef7c4 Mark builtin syntax
as internal
rust-lang@fa3ce50f0b Rollup merge of
rust-lang#127605 - nikic:remove-extern-wasm, r=oli-obk
rust-lang@d433f176ef Rollup merge of
rust-lang#127601 - trevyn:issue-127600, r=compiler-errors
rust-lang@47ab86653e Rollup merge of
rust-lang#127599 - tgross35:lazy_cell_consume-rename, r=workingjubilee
rust-lang@a10b4d1463 Rollup merge of
rust-lang#127598 - weiznich:diagnostic_do_not_recommend_also_skips_help,
r=compiler-errors
rust-lang@73c500b3a7 Rollup merge of
rust-lang#127591 - compiler-errors:label-after-primary, r=lcnr
rust-lang@380c78741e Rollup merge of
rust-lang#127588 - uweigand:s390x-f16-doctests, r=tgross35
rust-lang@6fd955549a Rollup merge of
rust-lang#127572 - tbu-:pr_debug_event_nonpacked, r=jhpratt
rust-lang@8de487fdbd Rollup merge of
rust-lang#124599 - estebank:issue-41708, r=wesleywiser
rust-lang@55256c5a18 Update
dist-riscv64-linux to binutils 2.40
rust-lang@977439d9b8 Use uplifted
`rustc-stable-hash` crate in `rustc_data_structures`
rust-lang@f56b2074c6 solve -> solve/mod
rust-lang@08a2992d6b compiletest: Better
error message for bad `normalize-*` headers
rust-lang@8a50bcbdce Remove extern "wasm"
ABI
rust-lang@a01f49e7f3 check is_ident
before parse_ident
rust-lang@ab56fe2053 Rename
`lazy_cell_consume` to `lazy_cell_into_inner`
rust-lang@27d5db166e Allows
`#[diagnostic::do_not_recommend]` to supress trait impls in suggestions
as well
rust-lang@12ae282987 Fix diagnostic and
add a test for it
rust-lang@df72e478b0 Make sure that
labels are defined after the primary span in diagnostics
rust-lang@0065763950 core: Limit
remaining f16 doctests to x86_64 linux
rust-lang@45ad522e87 Don't mark
`DEBUG_EVENT` struct as `repr(packed)`
rust-lang@0134bd2e67 remove unnecessary
`git` usages
rust-lang@42772e98e0 Address review
comments
rust-lang@3e030b38ef Return the
`otherwise_block` instead of passing it as argument
rust-lang@fc40247c6b Factor out the
"process remaining candidates" cases
rust-lang@8a222ffd6b Don't try to save an
extra block
rust-lang@c5062f7318 Move or-pattern
expansion inside the main part of the algorithm
rust-lang@bff4d213fa Factor out the
special handling of or-patterns
rust-lang@5bf50e66f9 Move a function
rust-lang@53d3e6217b Stabilize
const_cstr_from_ptr (CStr::from_ptr, CStr::count_bytes)
rust-lang@585ca16e0b as_simd: fix comment
to be in line with 507583a (rust-lang#121201)
rust-lang@0f643c449a Ensure tests don't
fail on i586 in CI
rust-lang@ec0c755704 Check that we get
somewhat sane PIDs when spawning with pidfds
rust-lang@3e4e31b7bf more fine-grained
feature-detection for pidfd spawning
rust-lang@0ce361938e document safety
properties of the internal Process::new constructor
rust-lang@6687a3f7da use pidfd_spawn for
faster process creation when pidfds are requested
rust-lang@5c46acac04 document the cvt
methods
rust-lang@0e1c832dbd Update
`platform-support.md` to reflect improvements in returning floats on
32-bit x86
rust-lang@952becc0bd Ensure floats are
returned losslessly by the Rust ABI on 32-bit x86
rust-lang@a1ad6346d6 Add fn allocator
method to rc/sync::Weak. Relax Rc<T>/Arc<T>::allocator to allow unsized
T.
rust-lang@2df4f7dd8c Suggest borrowing on
fn argument that is `impl AsRef`

Co-authored-by: celinval <[email protected]>
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 31, 2024
Update to LLVM 19

The LLVM 19.1.0 final release is planned for Sep 3rd. The rustc 1.82 stable release will be on Oct 17th.

The unstable MC/DC coverage support is temporarily broken by this update. It will be restored by rust-lang#126733. The implementation changed substantially in LLVM 19, and there are no plans to support both the LLVM 18 and LLVM 19 implementation at the same time.

Compatibility note for wasm:

> WebAssembly target support for the `multivalue` target feature has changed when upgrading to LLVM 19. Support for generating functions with multiple returns no longer works and `-Ctarget-feature=+multivalue` has a different meaning than it did in LLVM 18 and prior. The WebAssembly target features `multivalue` and `reference-types` are now both enabled by default, but generated code is not affected by default. These features being enabled are encoded in the `target_features` custom section and may affect downstream tooling such as `wasm-opt` consuming the module, but the actual generated WebAssembly will continue to not use either `multivalue` or `reference-types` by default. There is no longer any supported means to generate a module that has a function with multiple returns.

Related changes:
 * rust-lang#127605
 * rust-lang#127613
 * rust-lang#127654
 * rust-lang#128141
 * llvm/llvm-project#98933

Fixes rust-lang#121444.
Fixes rust-lang#128212.
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 31, 2024
Update to LLVM 19

The LLVM 19.1.0 final release is planned for Sep 3rd. The rustc 1.82 stable release will be on Oct 17th.

The unstable MC/DC coverage support is temporarily broken by this update. It will be restored by rust-lang#126733. The implementation changed substantially in LLVM 19, and there are no plans to support both the LLVM 18 and LLVM 19 implementation at the same time.

Compatibility note for wasm:

> WebAssembly target support for the `multivalue` target feature has changed when upgrading to LLVM 19. Support for generating functions with multiple returns no longer works and `-Ctarget-feature=+multivalue` has a different meaning than it did in LLVM 18 and prior. The WebAssembly target features `multivalue` and `reference-types` are now both enabled by default, but generated code is not affected by default. These features being enabled are encoded in the `target_features` custom section and may affect downstream tooling such as `wasm-opt` consuming the module, but the actual generated WebAssembly will continue to not use either `multivalue` or `reference-types` by default. There is no longer any supported means to generate a module that has a function with multiple returns.

Related changes:
 * rust-lang#127605
 * rust-lang#127613
 * rust-lang#127654
 * rust-lang#128141
 * llvm/llvm-project#98933

Fixes rust-lang#121444.
Fixes rust-lang#128212.
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 31, 2024
Update to LLVM 19

The LLVM 19.1.0 final release is planned for Sep 3rd. The rustc 1.82 stable release will be on Oct 17th.

The unstable MC/DC coverage support is temporarily broken by this update. It will be restored by rust-lang#126733. The implementation changed substantially in LLVM 19, and there are no plans to support both the LLVM 18 and LLVM 19 implementation at the same time.

Compatibility note for wasm:

> WebAssembly target support for the `multivalue` target feature has changed when upgrading to LLVM 19. Support for generating functions with multiple returns no longer works and `-Ctarget-feature=+multivalue` has a different meaning than it did in LLVM 18 and prior. The WebAssembly target features `multivalue` and `reference-types` are now both enabled by default, but generated code is not affected by default. These features being enabled are encoded in the `target_features` custom section and may affect downstream tooling such as `wasm-opt` consuming the module, but the actual generated WebAssembly will continue to not use either `multivalue` or `reference-types` by default. There is no longer any supported means to generate a module that has a function with multiple returns.

Related changes:
 * rust-lang#127605
 * rust-lang#127613
 * rust-lang#127654
 * rust-lang#128141
 * llvm/llvm-project#98933

Fixes rust-lang#121444.
Fixes rust-lang#128212.
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Aug 2, 2024
Update to LLVM 19

The LLVM 19.1.0 final release is planned for Sep 3rd. The rustc 1.82 stable release will be on Oct 17th.

The unstable MC/DC coverage support is temporarily broken by this update. It will be restored by rust-lang/rust#126733. The implementation changed substantially in LLVM 19, and there are no plans to support both the LLVM 18 and LLVM 19 implementation at the same time.

Compatibility note for wasm:

> WebAssembly target support for the `multivalue` target feature has changed when upgrading to LLVM 19. Support for generating functions with multiple returns no longer works and `-Ctarget-feature=+multivalue` has a different meaning than it did in LLVM 18 and prior. The WebAssembly target features `multivalue` and `reference-types` are now both enabled by default, but generated code is not affected by default. These features being enabled are encoded in the `target_features` custom section and may affect downstream tooling such as `wasm-opt` consuming the module, but the actual generated WebAssembly will continue to not use either `multivalue` or `reference-types` by default. There is no longer any supported means to generate a module that has a function with multiple returns.

Related changes:
 * rust-lang/rust#127605
 * rust-lang/rust#127613
 * rust-lang/rust#127654
 * rust-lang/rust#128141
 * llvm/llvm-project#98933

Fixes rust-lang/rust#121444.
Fixes rust-lang/rust#128212.
lnicola pushed a commit to lnicola/rust-analyzer that referenced this pull request Aug 13, 2024
Update to LLVM 19

The LLVM 19.1.0 final release is planned for Sep 3rd. The rustc 1.82 stable release will be on Oct 17th.

The unstable MC/DC coverage support is temporarily broken by this update. It will be restored by rust-lang/rust#126733. The implementation changed substantially in LLVM 19, and there are no plans to support both the LLVM 18 and LLVM 19 implementation at the same time.

Compatibility note for wasm:

> WebAssembly target support for the `multivalue` target feature has changed when upgrading to LLVM 19. Support for generating functions with multiple returns no longer works and `-Ctarget-feature=+multivalue` has a different meaning than it did in LLVM 18 and prior. The WebAssembly target features `multivalue` and `reference-types` are now both enabled by default, but generated code is not affected by default. These features being enabled are encoded in the `target_features` custom section and may affect downstream tooling such as `wasm-opt` consuming the module, but the actual generated WebAssembly will continue to not use either `multivalue` or `reference-types` by default. There is no longer any supported means to generate a module that has a function with multiple returns.

Related changes:
 * rust-lang/rust#127605
 * rust-lang/rust#127613
 * rust-lang/rust#127654
 * rust-lang/rust#128141
 * llvm/llvm-project#98933

Fixes rust-lang/rust#121444.
Fixes rust-lang/rust#128212.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants