Add `-Zindirect-branch-cs-prefix` by ojeda · Pull Request #140740 · rust-lang/rust

@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 mentioned this pull request

May 7, 2025

@ojeda ojeda mentioned this pull request

May 7, 2025

67 tasks

@ojeda ojeda mentioned this pull request

May 7, 2025

Darksonn

@ojeda ojeda mentioned this pull request

May 20, 2025

53 tasks

@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

@ojeda ojeda changed the title -Zindirect-branch-cs-prefix on top of -Zretpoline* Add -Zindirect-branch-cs-prefix

Jun 16, 2025

@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 @ojeda

This is intended to be used for Linux kernel RETPOLINE builds.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>

@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.

This was referenced

Aug 19, 2025

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

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

This was referenced

Aug 19, 2025

github-actions bot pushed a commit to rust-lang/miri that referenced this pull request

Aug 20, 2025

@ojeda ojeda deleted the indirect-branch-cs-prefix branch

August 27, 2025 18:08