Skip to content

Restrict LLVM inline asm location cookie usage. Fixes #150451 - #160197

Merged
rust-bors[bot] merged 3 commits into
rust-lang:mainfrom
susitsm:restrict-inline-asm-cookies
Sep 7, 2026
Merged

Restrict LLVM inline asm location cookie usage. Fixes #150451#160197
rust-bors[bot] merged 3 commits into
rust-lang:mainfrom
susitsm:restrict-inline-asm-cookies

Conversation

@susitsm

@susitsm susitsm commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

View all comments

The parallel frontend makes the cookies nondeterministic in their current form, resulting in nondeterministic outputs when bitcode is emitted or LTO is used.

Causes minor diagnostic regression for inline asm in release builds. See #150451 for details.

Fixes #150451

r? bjorn3

@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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 Jul 30, 2026
@rustbot

This comment has been minimized.

@susitsm
susitsm force-pushed the restrict-inline-asm-cookies branch 2 times, most recently from 1238b04 to e840de9 Compare July 30, 2026 06:49
@rust-log-analyzer

This comment has been minimized.

@susitsm
susitsm force-pushed the restrict-inline-asm-cookies branch from e840de9 to 4326f37 Compare July 30, 2026 07:21
@rustbot

rustbot commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

rustc_codegen_gcc is developed in its own repository. If possible, consider making this change to rust-lang/rustc_codegen_gcc instead.

cc @antoyo, @GuillaumeGomez

rustc_codegen_cranelift is developed in its own repository. If possible, consider making this change to rust-lang/rustc_codegen_cranelift instead.

cc @bjorn3

Comment thread compiler/rustc_codegen_ssa/src/traits/backend.rs Outdated
@petrochenkov

Copy link
Copy Markdown
Contributor

Is it possible to add a test case for this?
tests\run-make\parallel-reproducible-build\rmake.rs has some infra for it.
@rustbot author

@rustbot rustbot 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-review Status: Awaiting review from the assignee but also interested parties. labels Sep 3, 2026
@rustbot

rustbot commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@susitsm
susitsm force-pushed the restrict-inline-asm-cookies branch from 4326f37 to dbef79f Compare September 3, 2026 14:46
@rustbot rustbot added the A-run-make Area: port run-make Makefiles to rmake.rs label Sep 3, 2026
@rustbot

rustbot commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@rustbot

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@susitsm
susitsm force-pushed the restrict-inline-asm-cookies branch 2 times, most recently from a22e364 to 6d6d87d Compare September 4, 2026 07:02
@petrochenkov petrochenkov added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Sep 4, 2026
Comment thread tests/ui/asm/inline-syntax.rs
@petrochenkov

Copy link
Copy Markdown
Contributor

@bors try jobs=dist-armv7-linux

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 4, 2026
Restrict LLVM inline asm location cookie usage. Fixes #150451


try-job: dist-armv7-linux
@petrochenkov petrochenkov 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-review Status: Awaiting review from the assignee but also interested parties. labels Sep 4, 2026
@rust-bors

rust-bors Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 8ae3936 (8ae3936981b03d57fde220a0672fb50e3c8169e7)
Base parent: b924f94 (b924f94129bce80f36dd9f08bb78dd5393fe196e)

…O is enabled

The parallel frontend makes the cookies nondeterministic in their
current form, resulting in nondeterministic outputs when bitcode is
emitted or LTO is used.

Causes minor diagnostic regression for inline asm in release builds.
@susitsm
susitsm force-pushed the restrict-inline-asm-cookies branch from 6d6d87d to 970cb98 Compare September 5, 2026 09:58
@susitsm

susitsm commented Sep 5, 2026

Copy link
Copy Markdown
Contributor Author

@rustbot ready

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Sep 5, 2026
@petrochenkov

Copy link
Copy Markdown
Contributor

@bors r+

@rust-bors

rust-bors Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 970cb98 has been approved by petrochenkov

It is now in the queue for this repository.

@rust-bors rust-bors Bot 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 7, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Sep 7, 2026
…s, r=petrochenkov

Restrict LLVM inline asm location cookie usage. Fixes rust-lang#150451

The parallel frontend makes the cookies nondeterministic in their current form, resulting in nondeterministic outputs when bitcode is emitted or LTO is used.

Causes minor diagnostic regression for inline asm in release builds. See rust-lang#150451 for details.

Fixes rust-lang#150451

r? bjorn3
rust-bors Bot pushed a commit that referenced this pull request Sep 7, 2026
…uwer

Rollup of 11 pull requests

Successful merges:

 - #158153 (avoid spurious lifetime diagnostic in async generic case)
 - #160197 (Restrict LLVM inline asm location cookie usage. Fixes #150451)
 - #162413 (Unconditionally invalidate the library when the compiler changes)
 - #162294 (Reflection refactor ptrs)
 - #162354 (Make comptime functions ineligible for coverage)
 - #162379 (add test ensuring we refuse to const-eval the body of a rustc_do_not_const_check function)
 - #162386 (Add a regression test for trailing attributes in doctests)
 - #162410 (std: remove exceed whitespace in docs)
 - #162420 (mir_build: Don't pass a redundant `scrutinee_span` to some MIR-build methods)
 - #162430 (rustc-dev-guide subtree update)
 - #162431 (add next-solver FIXMEs)
@rust-bors
rust-bors Bot merged commit f04af20 into rust-lang:main Sep 7, 2026
13 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Sep 7, 2026
rust-bors Bot pushed a commit that referenced this pull request Sep 7, 2026
Rollup merge of #160197 - susitsm:restrict-inline-asm-cookies, r=petrochenkov

Restrict LLVM inline asm location cookie usage. Fixes #150451

The parallel frontend makes the cookies nondeterministic in their current form, resulting in nondeterministic outputs when bitcode is emitted or LTO is used.

Causes minor diagnostic regression for inline asm in release builds. See #150451 for details.

Fixes #150451

r? bjorn3
rust-bors Bot pushed a commit that referenced this pull request Sep 8, 2026
…ochenkov

Restrict LLVM inline asm location cookie usage. Fixes #150451

The parallel frontend makes the cookies nondeterministic in their current form, resulting in nondeterministic outputs when bitcode is emitted or LTO is used.

Causes minor diagnostic regression for inline asm in release builds. See #150451 for details.

Fixes #150451

r? bjorn3
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-run-make Area: port run-make Makefiles to rmake.rs 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.

parallel compiler: threads::spawnning loop not reproducible

5 participants