Skip to content

Add -Zindirect-branch-cs-prefix #140740

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

Merged
merged 2 commits into from
Aug 19, 2025
Merged

Conversation

ojeda
Copy link
Contributor

@ojeda ojeda commented May 7, 2025

Cc: @azhogin @Darksonn

This goes on top of #135927, i.e. please skip the first commit here. Please feel free to inherit it there.

In fact, I am not sure if there is any use case for the flag without -Zretpoline*. GCC and Clang allow it, though.

There is a FIXME for two ignores in the test that I took from another test I did in the past -- they may be needed or not here since I didn't run the full CI. Either way, it is not critical.

Tracking issue: #116852.
MCP: rust-lang/compiler-team#868.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 7, 2025
@ojeda ojeda force-pushed the indirect-branch-cs-prefix branch from 4422b3c to 0582d8f Compare May 7, 2025 14:07
@ojeda ojeda force-pushed the indirect-branch-cs-prefix branch from 0582d8f to b0392c5 Compare May 7, 2025 14:16
@ojeda
Copy link
Contributor Author

ojeda commented May 7, 2025

@rustbot label F-target_modifiers A-rust-for-linux

@rustbot rustbot added A-rust-for-linux Relevant for the Rust-for-Linux project F-target_modifiers `#![feature(target_modifiers)]` labels May 7, 2025
@rust-log-analyzer

This comment has been minimized.

@ojeda
Copy link
Contributor Author

ojeda commented May 7, 2025

The error is related to the base PR -- I think this one should be clean (modulo the marked ignore-*s) when that one is.

@ojeda ojeda force-pushed the indirect-branch-cs-prefix branch from b0392c5 to f395de3 Compare May 7, 2025 15:01
@rust-log-analyzer

This comment has been minimized.

@ojeda ojeda force-pushed the indirect-branch-cs-prefix branch from f395de3 to a79ff99 Compare May 7, 2025 17:15
@rust-log-analyzer

This comment has been minimized.

@ojeda ojeda force-pushed the indirect-branch-cs-prefix branch from a79ff99 to 879a3bc Compare May 8, 2025 17:09
@rustbot rustbot added the A-rustdoc-json Area: Rustdoc JSON backend label May 8, 2025
@rust-log-analyzer

This comment has been minimized.

@bors

This comment was marked as resolved.

@ojeda ojeda force-pushed the indirect-branch-cs-prefix branch from 879a3bc to 331c2b6 Compare June 15, 2025 12:47
@rustbot rustbot added the A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. label Jun 15, 2025
@ojeda ojeda marked this pull request as ready for review June 16, 2025 04:39
@rustbot
Copy link
Collaborator

rustbot commented Jun 16, 2025

r? @compiler-errors

rustbot has assigned @compiler-errors.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@ojeda ojeda changed the title -Zindirect-branch-cs-prefix on top of -Zretpoline* Add -Zindirect-branch-cs-prefix Jun 16, 2025
@Darksonn
Copy link
Contributor

Darksonn commented Jul 2, 2025

Assigning same reviewer as #135927.

r? @davidtwco

Zalathar added a commit to Zalathar/rust that referenced this pull request Aug 15, 2025
…=davidtwco

Add `-Zindirect-branch-cs-prefix`

Cc: `@azhogin` `@Darksonn`

This goes on top of rust-lang#135927, i.e. please skip the first commit here. Please feel free to inherit it there.

In fact, I am not sure if there is any use case for the flag without `-Zretpoline*`. GCC and Clang allow it, though.

There is a `FIXME` for two `ignore`s in the test that I took from another test I did in the past -- they may be needed or not here since I didn't run the full CI. Either way, it is not critical.

Tracking issue: rust-lang#116852.
MCP: rust-lang/compiler-team#868.
bors added a commit that referenced this pull request Aug 15, 2025
Rollup of 22 pull requests

Successful merges:

 - #118087 (Add Ref/RefMut try_map method)
 - #122661 (Change the desugaring of `assert!` for better error output)
 - #140740 (Add `-Zindirect-branch-cs-prefix`)
 - #142640 (Implement autodiff using intrinsics)
 - #143075 (compiler: Allow `extern "interrupt" fn() -> !`)
 - #144865 (Fix tail calls to `#[track_caller]` functions)
 - #144944 (E0793: Clarify that it applies to unions as well)
 - #144947 (Fix description of unsigned `checked_exact_div`)
 - #145004 (Couple of minor cleanups)
 - #145005 (strip prefix of temporary file names when it exceeds filesystem name length limit)
 - #145012 (Tail call diagnostics to include lifetime info)
 - #145065 (resolve: Introduce `RibKind::Block`)
 - #145120 (llvm: Accept new LLVM lifetime format)
 - #145189 (Weekly `cargo update`)
 - #145235 (Minor `[const]` tweaks)
 - #145275 (fix(compiler/rustc_codegen_llvm): apply `target-cpu` attribute)
 - #145322 (Resolve the prelude import in `build_reduced_graph`)
 - #145331 (Make std use the edition 2024 prelude)
 - #145369 (Do not ICE on private type in field of unresolved struct)
 - #145378 (Add `FnContext` in parser for diagnostic)
 - #145389 ([rustdoc] Revert "rustdoc search: prefer stable items in search results")
 - #145392 (coverage: Remove intermediate data structures from mapping creation)

r? `@ghost`
`@rustbot` modify labels: rollup
@Zalathar
Copy link
Contributor

Failed in rollup: #145418 (comment)

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 15, 2025
Darksonn and others added 2 commits August 17, 2025 16:50
This is intended to be used for Linux kernel RETPOLINE builds.

Signed-off-by: Miguel Ojeda <[email protected]>
@ojeda ojeda force-pushed the indirect-branch-cs-prefix branch from 74ebaf9 to 1a29d9c Compare August 17, 2025 14:52
@rustbot
Copy link
Collaborator

rustbot commented Aug 17, 2025

This PR was rebased onto a different master commit! Check out the changes with our range-diff.

@ojeda
Copy link
Contributor Author

ojeda commented Aug 17, 2025

Failed in rollup: #145418 (comment)

@bors r-

This is what I suspected in #140740 (comment) -- I have re-added the Apple one.

@davidtwco
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented Aug 18, 2025

📌 Commit 1a29d9c has been approved by davidtwco

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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Aug 18, 2025
jhpratt added a commit to jhpratt/rust that referenced this pull request Aug 18, 2025
…=davidtwco

Add `-Zindirect-branch-cs-prefix`

Cc: `@azhogin` `@Darksonn`

This goes on top of rust-lang#135927, i.e. please skip the first commit here. Please feel free to inherit it there.

In fact, I am not sure if there is any use case for the flag without `-Zretpoline*`. GCC and Clang allow it, though.

There is a `FIXME` for two `ignore`s in the test that I took from another test I did in the past -- they may be needed or not here since I didn't run the full CI. Either way, it is not critical.

Tracking issue: rust-lang#116852.
MCP: rust-lang/compiler-team#868.
jhpratt added a commit to jhpratt/rust that referenced this pull request Aug 18, 2025
…=davidtwco

Add `-Zindirect-branch-cs-prefix`

Cc: ``@azhogin`` ``@Darksonn``

This goes on top of rust-lang#135927, i.e. please skip the first commit here. Please feel free to inherit it there.

In fact, I am not sure if there is any use case for the flag without `-Zretpoline*`. GCC and Clang allow it, though.

There is a `FIXME` for two `ignore`s in the test that I took from another test I did in the past -- they may be needed or not here since I didn't run the full CI. Either way, it is not critical.

Tracking issue: rust-lang#116852.
MCP: rust-lang/compiler-team#868.
bors added a commit that referenced this pull request Aug 19, 2025
Rollup of 33 pull requests

Successful merges:

 - #139345 (Extend `QueryStability` to handle `IntoIterator` implementations)
 - #140740 (Add `-Zindirect-branch-cs-prefix`)
 - #142079 (nll-relate: improve hr opaque types support)
 - #142938 (implement std::fs::set_permissions_nofollow on unix)
 - #144767 (Correct some grammar in integer documentation)
 - #144906 (Require approval from t-infra instead of t-release on tier bumps)
 - #144983 (Rehome 37 `tests/ui/issues/` tests to other subdirectories under `tests/ui/`)
 - #145025 (run spellcheck as a tidy extra check in ci)
 - #145166 (suggest using `pub(crate)` for E0364)
 - #145255 (dec2flt: Provide more valid inputs examples)
 - #145306 (Add tracing to various miscellaneous functions)
 - #145336 (Hide docs for `core::unicode`)
 - #145429 (Couple of codegen_fn_attrs improvements)
 - #145452 (Do not strip binaries in bootstrap everytime if they are unchanged)
 - #145464 (Stabilize `const_pathbuf_osstring_new` feature)
 - #145474 (Properly recover from parenthesized use-bounds (precise capturing lists) plus small cleanups)
 - #145486 (Fix `unicode_data.rs` mention message)
 - #145493 (remove `should_render` in `PrintAttribute` derive)
 - #145505 (Simplify span caches)
 - #145510 (Visit and print async_fut local for async drop.)
 - #145511 (Rust build fails on OpenBSD after using file_lock feature)
 - #145532 (resolve: debug for block module)
 - #145533 (Reorder `lto` options from most to least optimizing)
 - #145537 (Do not consider a `T: !Sized` candidate to satisfy a `T: !MetaSized` obligation.)
 - #145538 (bufreader::Buffer::backshift: don't move the uninit bytes)
 - #145542 (triagebot: Don't warn no-mentions on subtree updates)
 - #145549 (Update rust maintainers in openharmony.md)
 - #145550 (Avoid using `()` in `derive(From)` output.)
 - #145556 (Allow stability attributes on extern crates)
 - #145560 (Remove unused `PartialOrd`/`Ord` from bootstrap)
 - #145568 (ignore frontmatters in `TokenStream::new`)
 - #145571 (remove myself from some adhoc-groups and pings)
 - #145576 (Add change tracker entry for `--timings`)

r? `@ghost`
`@rustbot` modify labels: rollup
jieyouxu added a commit to jieyouxu/rust that referenced this pull request Aug 19, 2025
…=davidtwco

Add `-Zindirect-branch-cs-prefix`

Cc: `@azhogin` `@Darksonn`

This goes on top of rust-lang#135927, i.e. please skip the first commit here. Please feel free to inherit it there.

In fact, I am not sure if there is any use case for the flag without `-Zretpoline*`. GCC and Clang allow it, though.

There is a `FIXME` for two `ignore`s in the test that I took from another test I did in the past -- they may be needed or not here since I didn't run the full CI. Either way, it is not critical.

Tracking issue: rust-lang#116852.
MCP: rust-lang/compiler-team#868.
bors added a commit that referenced this pull request Aug 19, 2025
Rollup of 15 pull requests

Successful merges:

 - #139345 (Extend `QueryStability` to handle `IntoIterator` implementations)
 - #140740 (Add `-Zindirect-branch-cs-prefix`)
 - #142079 (nll-relate: improve hr opaque types support)
 - #142938 (implement std::fs::set_permissions_nofollow on unix)
 - #143730 (fmt of non-decimal radix untangled)
 - #144767 (Correct some grammar in integer documentation)
 - #144906 (Require approval from t-infra instead of t-release on tier bumps)
 - #144983 (Rehome 37 `tests/ui/issues/` tests to other subdirectories under `tests/ui/`)
 - #145025 (run spellcheck as a tidy extra check in ci)
 - #145099 (rustc_target: Add the `32s` target feature for LoongArch)
 - #145166 (suggest using `pub(crate)` for E0364)
 - #145255 (dec2flt: Provide more valid inputs examples)
 - #145306 (Add tracing to various miscellaneous functions)
 - #145336 (Hide docs for `core::unicode`)
 - #145585 (Miri: fix handling of in-place argument and return place handling)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit df01a87 into rust-lang:master Aug 19, 2025
10 checks passed
@rustbot rustbot added this to the 1.91.0 milestone Aug 19, 2025
rust-timer added a commit that referenced this pull request Aug 19, 2025
Rollup merge of #140740 - ojeda:indirect-branch-cs-prefix, r=davidtwco

Add `-Zindirect-branch-cs-prefix`

Cc: ``@azhogin`` ``@Darksonn``

This goes on top of #135927, i.e. please skip the first commit here. Please feel free to inherit it there.

In fact, I am not sure if there is any use case for the flag without `-Zretpoline*`. GCC and Clang allow it, though.

There is a `FIXME` for two `ignore`s in the test that I took from another test I did in the past -- they may be needed or not here since I didn't run the full CI. Either way, it is not critical.

Tracking issue: #116852.
MCP: rust-lang/compiler-team#868.
Kobzol pushed a commit to Kobzol/rust that referenced this pull request Aug 19, 2025
Rollup of 15 pull requests

Successful merges:

 - rust-lang#139345 (Extend `QueryStability` to handle `IntoIterator` implementations)
 - rust-lang#140740 (Add `-Zindirect-branch-cs-prefix`)
 - rust-lang#142079 (nll-relate: improve hr opaque types support)
 - rust-lang#142938 (implement std::fs::set_permissions_nofollow on unix)
 - rust-lang#143730 (fmt of non-decimal radix untangled)
 - rust-lang#144767 (Correct some grammar in integer documentation)
 - rust-lang#144906 (Require approval from t-infra instead of t-release on tier bumps)
 - rust-lang#144983 (Rehome 37 `tests/ui/issues/` tests to other subdirectories under `tests/ui/`)
 - rust-lang#145025 (run spellcheck as a tidy extra check in ci)
 - rust-lang#145099 (rustc_target: Add the `32s` target feature for LoongArch)
 - rust-lang#145166 (suggest using `pub(crate)` for E0364)
 - rust-lang#145255 (dec2flt: Provide more valid inputs examples)
 - rust-lang#145306 (Add tracing to various miscellaneous functions)
 - rust-lang#145336 (Hide docs for `core::unicode`)
 - rust-lang#145585 (Miri: fix handling of in-place argument and return place handling)

r? `@ghost`
`@rustbot` modify labels: rollup
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Aug 20, 2025
Rollup of 15 pull requests

Successful merges:

 - rust-lang/rust#139345 (Extend `QueryStability` to handle `IntoIterator` implementations)
 - rust-lang/rust#140740 (Add `-Zindirect-branch-cs-prefix`)
 - rust-lang/rust#142079 (nll-relate: improve hr opaque types support)
 - rust-lang/rust#142938 (implement std::fs::set_permissions_nofollow on unix)
 - rust-lang/rust#143730 (fmt of non-decimal radix untangled)
 - rust-lang/rust#144767 (Correct some grammar in integer documentation)
 - rust-lang/rust#144906 (Require approval from t-infra instead of t-release on tier bumps)
 - rust-lang/rust#144983 (Rehome 37 `tests/ui/issues/` tests to other subdirectories under `tests/ui/`)
 - rust-lang/rust#145025 (run spellcheck as a tidy extra check in ci)
 - rust-lang/rust#145099 (rustc_target: Add the `32s` target feature for LoongArch)
 - rust-lang/rust#145166 (suggest using `pub(crate)` for E0364)
 - rust-lang/rust#145255 (dec2flt: Provide more valid inputs examples)
 - rust-lang/rust#145306 (Add tracing to various miscellaneous functions)
 - rust-lang/rust#145336 (Hide docs for `core::unicode`)
 - rust-lang/rust#145585 (Miri: fix handling of in-place argument and return place handling)

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-rust-for-linux Relevant for the Rust-for-Linux project A-rustdoc-json Area: Rustdoc JSON backend F-target_modifiers `#![feature(target_modifiers)]` S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants