Skip to content

Conversation

Zalathar
Copy link
Contributor

@Zalathar Zalathar commented Sep 12, 2025

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

RalfJung and others added 30 commits September 3, 2025 09:14
- Adds option to rustc config to enable GCS
- Passes `guarded-control-stack` flag to llvm if enabled
GCS support was added to GCC in version 15, thus the rmake test for this
patch requires GCC15
This fixes

```
error: unused import: `str`
 --> library/std/src/sys/pal/hermit/os.rs:6:22
  |
6 | use crate::{fmt, io, str};
  |                      ^^^
  |
  = note: `-D unused-imports` implied by `-D warnings`
  = help: to override `-D warnings` add `#[allow(unused_imports)]`
```

This was caused by 845311a.
Co-authored-by: Ralf Jung <[email protected]>
These "you are using $RUSTC_VERSION" help messages were removed in
rust-lang#142943, but rust-lang#142681 started before that and
merged later, so its normalization is vestigial.
…,madsmtm,tmandry

initial implementation of the darwin_objc unstable feature

Tracking issue: rust-lang#145496

This feature makes it possible to reference Objective-C classes and selectors using the same ABI used by native Objective-C on Apple/Darwin platforms. Without it, Rust code interacting with Objective-C must resort to loading classes and selectors using costly string-based lookups at runtime. With it, these references can be loaded efficiently at dynamic load time.

r? `@tmandry`

try-job: `*apple*`
@rustbot rustbot added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. rollup A PR which is a rollup labels Sep 12, 2025
@Zalathar
Copy link
Contributor Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Sep 12, 2025

📌 Commit e59873b has been approved by Zalathar

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 Sep 12, 2025
@Zalathar
Copy link
Contributor Author

@bors try jobs=test-various,dist-various-1,aarch64-apple-darwin,aarch64-msvc-1,aarch64-msvc-2

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Sep 12, 2025
Rollup of 16 pull requests

try-job: test-various
try-job: dist-various-1
try-job: aarch64-apple-darwin
try-job: aarch64-msvc-1
try-job: aarch64-msvc-2
@rust-bors
Copy link

rust-bors bot commented Sep 12, 2025

💔 Test for 5d1aea3 failed: CI. Failed job:

@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling ureq v3.0.8
   Compiling citool v0.1.0 (/home/runner/work/rust/rust/src/ci/citool)
    Finished `dev` profile [unoptimized] target(s) in 23.42s
     Running `target/debug/citool calculate-job-matrix`
Run type: TryJob { job_patterns: Some(["test-various", "dist-various-1", "aarch64-apple-darwin", "aarch64-msvc-1", "aarch64-msvc-2"]) }
Error: Failed to calculate job matrix

Caused by:
    Patterns `aarch64-apple-darwin` did not match any auto jobs
##[error]Process completed with exit code 1.

@Zalathar
Copy link
Contributor Author

@bors try jobs=test-various,dist-various-1,aarch64-apple,aarch64-msvc-1,aarch64-msvc-2

@rust-bors
Copy link

rust-bors bot commented Sep 12, 2025

⌛ Trying commit e59873b with merge f087e6e

To cancel the try build, run the command @bors try cancel.

rust-bors bot added a commit that referenced this pull request Sep 12, 2025
Rollup of 16 pull requests

try-job: test-various
try-job: dist-various-1
try-job: aarch64-apple
try-job: aarch64-msvc-1
try-job: aarch64-msvc-2
bors added a commit that referenced this pull request Sep 12, 2025
Rollup of 16 pull requests

Successful merges:

 - #145660 (initial implementation of the darwin_objc unstable feature)
 - #145895 (thread parking: fix docs and examples)
 - #146308 (support integer literals in `${concat()}`)
 - #146323 (check before test for hardware capabilites in bits 32~63 of usize)
 - #146332 (tidy: make behavior of extra-checks more uniform)
 - #146338 (Extends AArch64 branch protection support to include GCS)
 - #146374 (Update `browser-ui-test` version to `0.22.2`)
 - #146413 (Improve suggestion in case a bare URL is surrounded by brackets)
 - #146426 (Bump miow to 0.60.1)
 - #146432 (Implement `Socket::take_error` for Hermit)
 - #146433 (rwlock tests: fix miri macos test regression)
 - #146435 (Change the default value of `gcc.download-ci-gcc` to `true`)
 - #146439 (fix cfg for poison test macro)
 - #146448 ([rustdoc] Correctly handle literal search on paths)
 - #146449 (Fix `libgccjit` symlink when we build GCC locally)
 - #146455 (test: remove an outdated normalization for rustc versions)

Failed merges:

 - #146389 (Convert `no_std` and `no_core` to the new attribute infrastructure)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors
Copy link
Collaborator

bors commented Sep 12, 2025

⌛ Testing commit e59873b with merge 66a4829...

@Zalathar
Copy link
Contributor Author

@bors try cancel

@rust-bors
Copy link

rust-bors bot commented Sep 12, 2025

Try build cancelled. Cancelled workflows:

@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)
test [ui] tests/ui/cycle-trait/cycle-trait-default-type-trait.rs ... ok
test [ui] tests/ui/cycle-trait/cycle-trait-supertrait-direct.rs ... ok
test [ui] tests/ui/custom_test_frameworks/mismatch.rs ... ok
test [ui] tests/ui/cycle-trait/cycle-trait-supertrait-indirect.rs ... ok
test [ui] tests/ui/darwin-objc/darwin-objc-bad-arg.rs ... ignored, only executed when the target vendor is Apple
test [ui] tests/ui/darwin-objc/darwin-objc-bad-const.rs ... ignored, only executed when the target vendor is Apple
test [ui] tests/ui/darwin-objc/darwin-objc-bad-ref.rs ... ignored, only executed when the target vendor is Apple
test [ui] tests/ui/darwin-objc/darwin-objc-class-selector.rs ... ignored, only executed when the target vendor is Apple
test [ui] tests/ui/darwin-objc/darwin-objc-class.rs ... ignored, only executed when the target vendor is Apple
test [ui] tests/ui/darwin-objc/darwin-objc-selector.rs ... ignored, only executed when the target vendor is Apple
test [ui] tests/ui/cycle-trait/issue-12511.rs ... ok
test [ui] tests/ui/dataflow_const_prop/ptr-in-switch-int-issue-131227.rs ... ok
test [ui] tests/ui/custom_test_frameworks/full.rs ... ok
test [ui] tests/ui/debuginfo/debuginfo-emit-llvm-ir-and-split-debuginfo.rs ... ok
test [ui] tests/ui/debuginfo/debuginfo-box-with-large-allocator.rs ... ok
---
test [codegen] tests/codegen-llvm/cross-crate-inlining/always-inline.rs ... ok
test [codegen] tests/codegen-llvm/darwin-no-objc.rs#aarch64_ios ... ok
test [codegen] tests/codegen-llvm/cross-crate-inlining/never-inline.rs ... ok
test [codegen] tests/codegen-llvm/cross-crate-inlining/leaf-inlining.rs ... ok
test [codegen] tests/codegen-llvm/darwin-no-objc.rs#aarch64_ios_sim ... ok
test [codegen] tests/codegen-llvm/darwin-no-objc.rs#aarch64_macos ... ok
test [codegen] tests/codegen-llvm/darwin-no-objc.rs#armv7s_ios ... ok
test [codegen] tests/codegen-llvm/darwin-no-objc.rs#i386_ios ... ok
test [codegen] tests/codegen-llvm/darwin-no-objc.rs#i686_apple_darwin ... ok
test [codegen] tests/codegen-llvm/darwin-no-objc.rs#x86_64_ios ... ok
test [codegen] tests/codegen-llvm/darwin-no-objc.rs#x86_64_macos ... ok
test [codegen] tests/codegen-llvm/darwin-objc-abi-v1.rs#i686_apple_darwin ... ok
test [codegen] tests/codegen-llvm/darwin-objc-abi-v2.rs#aarch64_ios ... ok
test [codegen] tests/codegen-llvm/darwin-objc-abi-v2.rs#armv7s_ios ... ok
test [codegen] tests/codegen-llvm/darwin-objc-abi-v2.rs#aarch64_macos ... ok
test [codegen] tests/codegen-llvm/darwin-objc-abi-v2.rs#aarch64_ios_sim ... ok
test [codegen] tests/codegen-llvm/darwin-objc-cross-crate.rs#aarch64_macos ... ignored, only executed when the target is aarch64-apple-darwin
test [codegen] tests/codegen-llvm/darwin-objc-cross-crate.rs#x86_64_macos ... ignored, only executed when the target is x86_64-apple-darwin
test [codegen] tests/codegen-llvm/dead_on_return.rs ... ignored, ignored when the LLVM version 20.1.2 is older than 21.0.0
test [codegen] tests/codegen-llvm/dealloc-no-unwind.rs ... ok
test [codegen] tests/codegen-llvm/debug-accessibility/crate-enum.rs#MSVC ... ignored, only executed when the target environment is msvc
test [codegen] tests/codegen-llvm/darwin-objc-abi-v2.rs#i386_ios ... ok
test [codegen] tests/codegen-llvm/darwin-objc-abi-v2.rs#x86_64_ios ... ok
test [codegen] tests/codegen-llvm/debug-accessibility/private-enum.rs#MSVC ... ignored, only executed when the target environment is msvc
test [codegen] tests/codegen-llvm/darwin-objc-abi-v2.rs#x86_64_macos ... ok
test [codegen] tests/codegen-llvm/debug-accessibility/crate-struct.rs ... ok
test [codegen] tests/codegen-llvm/debug-accessibility/public-enum.rs#MSVC ... ignored, only executed when the target environment is msvc
test [codegen] tests/codegen-llvm/debug-accessibility/crate-enum.rs#NONMSVC ... ok
---

---- [assembly] tests/assembly-llvm/aarch64-pointer-auth.rs#GCS stdout ----
------FileCheck stdout------------------------------

------FileCheck stderr------------------------------
/checkout/tests/assembly-llvm/aarch64-pointer-auth.rs:22:9: error: GCS: expected string not found in input
// GCS: .aeabi_attribute 2, 1 // Tag_Feature_GCS
        ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/aarch64-pointer-auth.GCS/aarch64-pointer-auth.s:1:1: note: scanning from here
 .aeabi_subsection aeabi_feature_and_bits, optional, uleb128
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/aarch64-pointer-auth.GCS/aarch64-pointer-auth.s:4:2: note: possible intended match here
 .aeabi_attribute Tag_Feature_GCS, 1
 ^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/aarch64-pointer-auth.GCS/aarch64-pointer-auth.s
Check file: /checkout/tests/assembly-llvm/aarch64-pointer-auth.rs

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

Input was:
<<<<<<
            1:  .aeabi_subsection aeabi_feature_and_bits, optional, uleb128 
check:22'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
            2:  .aeabi_attribute Tag_Feature_BTI, 0 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            3:  .aeabi_attribute Tag_Feature_PAC, 0 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            4:  .aeabi_attribute Tag_Feature_GCS, 1 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:22'1      ?                                    possible intended match
            5:  .section .note.gnu.property,"a",@note 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            6:  .p2align 3, 0x0 
check:22'0     ~~~~~~~~~~~~~~~~~
            7:  .word 4 
check:22'0     ~~~~~~~~~
            8:  .word 16 
check:22'0     ~~~~~~~~~~
            9:  .word 5 
check:22'0     ~~~~~~~~~
           10:  .asciz "GNU" 
check:22'0     ~~~~~~~~~~~~~~
           11:  .word 3221225472 
check:22'0     ~~~~~~~~~~~~~~~~~~
           12:  .word 4 
check:22'0     ~~~~~~~~~
           13:  .word 4 
check:22'0     ~~~~~~~~~
           14:  .word 0 
check:22'0     ~~~~~~~~~
           15: .Lsec_end0: 
check:22'0     ~~~~~~~~~~~~
           16:  .text 
check:22'0     ~~~~~~~
           17:  .file "aarch64_pointer_auth.ed114bba7a018068-cgu.0" 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           18:  .section .text.test,"ax",@progbits 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           19:  .globl test 
check:22'0     ~~~~~~~~~~~~~
           20:  .p2align 2 
check:22'0     ~~~~~~~~~~~~
           21:  .type test,@function 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~
           22: test: 
check:22'0     ~~~~~~
           23:  .cfi_startproc 
check:22'0     ~~~~~~~~~~~~~~~~
           24:  mov w0, #42 
check:22'0     ~~~~~~~~~~~~~
           25:  ret 
check:22'0     ~~~~~
           26: .Lfunc_end0: 
check:22'0     ~~~~~~~~~~~~~
           27:  .size test, .Lfunc_end0-test 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           28:  .cfi_endproc 
check:22'0     ~~~~~~~~~~~~~~
           29:  
check:22'0     ~
           30:  .ident "rustc version 1.91.0-nightly (66a48299a 2025-09-12)" 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           31:  .section ".note.GNU-stack","",@progbits 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>

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

error in revision `GCS`: 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/aarch64-pointer-auth.GCS/aarch64-pointer-auth.s" "/checkout/tests/assembly-llvm/aarch64-pointer-auth.rs" "--check-prefix=CHECK" "--check-prefix" "GCS" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/assembly-llvm/aarch64-pointer-auth.rs:22:9: error: GCS: expected string not found in input
// GCS: .aeabi_attribute 2, 1 // Tag_Feature_GCS
        ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/aarch64-pointer-auth.GCS/aarch64-pointer-auth.s:1:1: note: scanning from here
 .aeabi_subsection aeabi_feature_and_bits, optional, uleb128
^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/aarch64-pointer-auth.GCS/aarch64-pointer-auth.s:4:2: note: possible intended match here
 .aeabi_attribute Tag_Feature_GCS, 1
 ^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/aarch64-pointer-auth.GCS/aarch64-pointer-auth.s
Check file: /checkout/tests/assembly-llvm/aarch64-pointer-auth.rs

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

Input was:
<<<<<<
            1:  .aeabi_subsection aeabi_feature_and_bits, optional, uleb128 
check:22'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
            2:  .aeabi_attribute Tag_Feature_BTI, 0 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            3:  .aeabi_attribute Tag_Feature_PAC, 0 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            4:  .aeabi_attribute Tag_Feature_GCS, 1 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:22'1      ?                                    possible intended match
            5:  .section .note.gnu.property,"a",@note 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            6:  .p2align 3, 0x0 
check:22'0     ~~~~~~~~~~~~~~~~~
            7:  .word 4 
check:22'0     ~~~~~~~~~
            8:  .word 16 
check:22'0     ~~~~~~~~~~
            9:  .word 5 
check:22'0     ~~~~~~~~~
           10:  .asciz "GNU" 
check:22'0     ~~~~~~~~~~~~~~
           11:  .word 3221225472 
check:22'0     ~~~~~~~~~~~~~~~~~~
           12:  .word 4 
check:22'0     ~~~~~~~~~
           13:  .word 4 
check:22'0     ~~~~~~~~~
           14:  .word 0 
check:22'0     ~~~~~~~~~
           15: .Lsec_end0: 
check:22'0     ~~~~~~~~~~~~
           16:  .text 
check:22'0     ~~~~~~~
           17:  .file "aarch64_pointer_auth.ed114bba7a018068-cgu.0" 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           18:  .section .text.test,"ax",@progbits 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           19:  .globl test 
check:22'0     ~~~~~~~~~~~~~
           20:  .p2align 2 
check:22'0     ~~~~~~~~~~~~
           21:  .type test,@function 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~
           22: test: 
check:22'0     ~~~~~~
           23:  .cfi_startproc 
check:22'0     ~~~~~~~~~~~~~~~~
           24:  mov w0, #42 
check:22'0     ~~~~~~~~~~~~~
           25:  ret 
check:22'0     ~~~~~
           26: .Lfunc_end0: 
check:22'0     ~~~~~~~~~~~~~
           27:  .size test, .Lfunc_end0-test 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           28:  .cfi_endproc 
check:22'0     ~~~~~~~~~~~~~~
           29:  
check:22'0     ~
           30:  .ident "rustc version 1.91.0-nightly (66a48299a 2025-09-12)" 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           31:  .section ".note.GNU-stack","",@progbits 
check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>
------------------------------------------

---- [assembly] tests/assembly-llvm/aarch64-pointer-auth.rs#GCS stdout end ----

failures:
    [assembly] tests/assembly-llvm/aarch64-pointer-auth.rs#GCS

test result: FAILED. 532 passed; 1 failed; 39 ignored; 0 measured; 0 filtered out; finished in 19.06s

@bors
Copy link
Collaborator

bors commented Sep 12, 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 Sep 12, 2025
@Zalathar Zalathar closed this Sep 12, 2025
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 12, 2025
@Zalathar Zalathar deleted the rollup-k78yyoi branch September 12, 2025 04:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-search Area: Rustdoc's search feature A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool O-apple Operating system: Apple (macOS, iOS, tvOS, visionOS, watchOS) O-hermit Operating System: Hermit PG-exploit-mitigations Project group: Exploit mitigations rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.
Projects
None yet
Development

Successfully merging this pull request may close these issues.