Skip to content

Conversation

@matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Dec 21, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

fmease and others added 23 commits November 26, 2025 04:57
Signed-off-by: tison <wander4096@gmail.com>
Fixes library linking issues where libgcc_s was incorrectly being linked
instead of the appropriate LLVM runtime libraries for Hexagon targets.

* Set llvm-libunwind as default for all hexagon targets in bootstrap
* Exclude hexagon from automatic libgcc_s linking in unwind
* Enable libunwind.a copying for hexagon targets
* Remove manual library linking from hexagon target specification
If we convert the minimum length to `u64` up-front when creating
`TestableCase::Slice`, we can avoid more conversions to `u64` later.
This was accidentally added to the prelude in
3f4dc1e.
Don't strip shebang in expr-ctxt `include!(…)`

No longer strip shebang interpreter directives in files that were `include`d in expression (statement) contexts.
…acrum

tests/assembly-llvm/some-non-zero-from-atomic-optimization.rs: New test

Closes rust-lang#60044 which has one 👍 and one ❤️  vote and just **E-needs-test**.
…=Mark-Simulacrum

Add const default for OnceCell and OnceLock

cc rust-lang#143894
…mulacrum

miri: add -Zbinary-dep-depinfo to dependency builds

Hopefully fixes rust-lang#149711

Cc ``@bjorn3``
…-Simulacrum

Enable llvm-libunwind by default for Hexagon targets

Fixes library linking issues where libgcc_s was incorrectly being linked instead of the appropriate LLVM runtime libraries for Hexagon targets.

* Set llvm-libunwind as default for all hexagon targets in bootstrap
* Exclude hexagon from automatic libgcc_s linking in unwind
* Enable libunwind.a copying for hexagon targets
* Remove manual library linking from hexagon target specification
fix docustring on fetch_or

The documentation had the same example twice in a row, but I think this was the intended second example.
tests/ui/traits/fmt-pointer-trait.rs: Add HRTB fn pointer case

Closes rust-lang#50280 which just **E-needs-test**.  See rust-lang#50280 (comment) for a bisect of the fix.

The issue description is quite vague, so in the test I am linking directly to the most descriptive comment rust-lang#50280 (comment).
mir_build: Use the same length type for `TestableCase::Slice` and `TestKind::Len`

If we convert the minimum length to `u64` up-front when creating `TestableCase::Slice`, we can avoid more conversions to `u64` later.

There should be no change to compiler behaviour.
change non-canonical clone impl to {*self}, fix some doc comments
…om-prelude, r=jdonszelmann

Drop the From derive macro from the v1 prelude

This was accidentally added to the prelude in 3f4dc1e.

Fixes: rust-lang#150165

r? ```@jdonszelmann```
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Dec 21, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Dec 21, 2025

📌 Commit 1be219d has been approved by matthiaskrgr

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 Dec 21, 2025
@bors
Copy link
Collaborator

bors commented Dec 21, 2025

⌛ Testing commit 1be219d with merge 89c3a84...

bors added a commit that referenced this pull request Dec 21, 2025
Rollup of 11 pull requests

Successful merges:

 - #146377 (Don't strip shebang in expr-ctxt `include!(…)`)
 - #149658 (tests/assembly-llvm/some-non-zero-from-atomic-optimization.rs: New test)
 - #149812 (Add const default for OnceCell and OnceLock)
 - #149882 (miri: add -Zbinary-dep-depinfo to dependency builds)
 - #150009 (Enable llvm-libunwind by default for Hexagon targets)
 - #150035 (fix docustring on fetch_or)
 - #150082 (tests/ui/traits/fmt-pointer-trait.rs: Add HRTB fn pointer case)
 - #150160 (Fix ICE (#149980) for invalid EII in statement position)
 - #150184 (mir_build: Use the same length type for `TestableCase::Slice` and `TestKind::Len`)
 - #150191 (change non-canonical clone impl to {*self}, fix some doc comments)
 - #150203 (Drop the From derive macro from the v1 prelude)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-20-3 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

---- [assembly] tests/assembly-llvm/some-non-zero-from-atomic-optimization.rs stdout ----
------FileCheck stdout------------------------------

------FileCheck stderr------------------------------
/checkout/tests/assembly-llvm/some-non-zero-from-atomic-optimization.rs:38:15: error: CHECK-DAG: expected string not found in input
// CHECK-DAG: some_non_zero_from_atomic_get2 = some_non_zero_from_atomic_get
              ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/some-non-zero-from-atomic-optimization/some-non-zero-from-atomic-optimization.s:9:6: note: scanning from here
 retq
     ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/some-non-zero-from-atomic-optimization/some-non-zero-from-atomic-optimization.s:23:6: note: possible intended match here
.set some_non_zero_from_atomic_get2, some_non_zero_from_atomic_get
     ^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/some-non-zero-from-atomic-optimization/some-non-zero-from-atomic-optimization.s
Check file: /checkout/tests/assembly-llvm/some-non-zero-from-atomic-optimization.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
          1:  .file "some_non_zero_from_atomic_optimization.dd00b9cfc89e3fb0-cgu.0" 
          2:  .section .text.some_non_zero_from_atomic_get,"ax",@progbits 
          3:  .globl some_non_zero_from_atomic_get 
          4:  .p2align 4 
          5:  .type some_non_zero_from_atomic_get,@function 
          6: some_non_zero_from_atomic_get: 
          7:  movq _RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X@GOTPCREL(%rip), %rax 
          8:  movq (%rax), %rax 
          9:  retq 
dag:38'0          X error: no match found
         10: .Lfunc_end0: 
dag:38'0     ~~~~~~~~~~~~~
         11:  .size some_non_zero_from_atomic_get, .Lfunc_end0-some_non_zero_from_atomic_get 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         12:  
dag:38'0     ~
         13:  .type _RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X,@object 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         14:  .section .data._RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X,"aw",@progbits 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         15:  .globl _RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         16:  .p2align 3, 0x0 
dag:38'0     ~~~~~~~~~~~~~~~~~
         17: _RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X: 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         18:  .asciz "\001\000\000\000\000\000\000" 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         19:  .size _RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X, 8 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         20:  
dag:38'0     ~
         21:  .globl some_non_zero_from_atomic_get2 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         22:  .type some_non_zero_from_atomic_get2,@function 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         23: .set some_non_zero_from_atomic_get2, some_non_zero_from_atomic_get 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dag:38'1          ?                                                              possible intended match
         24:  .ident "rustc version 1.94.0-nightly (89c3a8487 2025-12-21)" 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         25:  .section ".note.GNU-stack","",@progbits 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>

------------------------------------------

error: verification with 'FileCheck' failed
status: exit status: 1
command: "/usr/lib/llvm-20/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/some-non-zero-from-atomic-optimization/some-non-zero-from-atomic-optimization.s" "/checkout/tests/assembly-llvm/some-non-zero-from-atomic-optimization.rs" "--check-prefix=CHECK" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/assembly-llvm/some-non-zero-from-atomic-optimization.rs:38:15: error: CHECK-DAG: expected string not found in input
// CHECK-DAG: some_non_zero_from_atomic_get2 = some_non_zero_from_atomic_get
              ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/some-non-zero-from-atomic-optimization/some-non-zero-from-atomic-optimization.s:9:6: note: scanning from here
 retq
     ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/some-non-zero-from-atomic-optimization/some-non-zero-from-atomic-optimization.s:23:6: note: possible intended match here
.set some_non_zero_from_atomic_get2, some_non_zero_from_atomic_get
     ^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/some-non-zero-from-atomic-optimization/some-non-zero-from-atomic-optimization.s
Check file: /checkout/tests/assembly-llvm/some-non-zero-from-atomic-optimization.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
          1:  .file "some_non_zero_from_atomic_optimization.dd00b9cfc89e3fb0-cgu.0" 
          2:  .section .text.some_non_zero_from_atomic_get,"ax",@progbits 
          3:  .globl some_non_zero_from_atomic_get 
          4:  .p2align 4 
          5:  .type some_non_zero_from_atomic_get,@function 
          6: some_non_zero_from_atomic_get: 
          7:  movq _RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X@GOTPCREL(%rip), %rax 
          8:  movq (%rax), %rax 
          9:  retq 
dag:38'0          X error: no match found
         10: .Lfunc_end0: 
dag:38'0     ~~~~~~~~~~~~~
         11:  .size some_non_zero_from_atomic_get, .Lfunc_end0-some_non_zero_from_atomic_get 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         12:  
dag:38'0     ~
         13:  .type _RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X,@object 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         14:  .section .data._RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X,"aw",@progbits 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         15:  .globl _RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         16:  .p2align 3, 0x0 
dag:38'0     ~~~~~~~~~~~~~~~~~
         17: _RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X: 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         18:  .asciz "\001\000\000\000\000\000\000" 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         19:  .size _RNvCsiYomkyV1XmC_38some_non_zero_from_atomic_optimization1X, 8 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         20:  
dag:38'0     ~
         21:  .globl some_non_zero_from_atomic_get2 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         22:  .type some_non_zero_from_atomic_get2,@function 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         23: .set some_non_zero_from_atomic_get2, some_non_zero_from_atomic_get 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dag:38'1          ?                                                              possible intended match
         24:  .ident "rustc version 1.94.0-nightly (89c3a8487 2025-12-21)" 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         25:  .section ".note.GNU-stack","",@progbits 
dag:38'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>
------------------------------------------

---- [assembly] tests/assembly-llvm/some-non-zero-from-atomic-optimization.rs stdout end ----

failures:
    [assembly] tests/assembly-llvm/some-non-zero-from-atomic-optimization.rs

test result: FAILED. 554 passed; 1 failed; 46 ignored; 0 measured; 0 filtered out; finished in 19.79s

@bors
Copy link
Collaborator

bors commented Dec 21, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Dec 21, 2025
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.