Skip to content

Conversation

folkertdev
Copy link
Contributor

@folkertdev folkertdev commented Jun 3, 2025

Let's see if this works now.

Previously this change was in rust-lang/compiler-builtins#897, but we decided to wait until compiler-builtins was a subtree (and also cfg(bootstrap) is gone now).

r? @tgross35 cc @bjorn3

try-job: dist-various*
try-job: test-various*

@rustbot rustbot added A-compiler-builtins Area: compiler-builtins (https://github.com/rust-lang/compiler-builtins) 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 Jun 3, 2025
@rustbot
Copy link
Collaborator

rustbot commented Jun 3, 2025

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

cc @tgross35

@folkertdev folkertdev changed the title Probestack naked function use #[naked] for __rust_probestack Jun 3, 2025
@tgross35
Copy link
Contributor

tgross35 commented Jun 3, 2025

It will most definitely work, in-tree compiler-builtins has no CI running and it is not yet used for anything :)

@folkertdev
Copy link
Contributor Author

Me and my impatience...

Well, I'm happy to rebase this whenever to check whether things are working, and we'll see when everything is ready.

@bors
Copy link
Collaborator

bors commented Jun 5, 2025

☔ The latest upstream changes (presumably #142081) made this pull request unmergeable. Please resolve the merge conflicts.

@folkertdev folkertdev force-pushed the probestack-naked-function branch from be86dc8 to 79aa400 Compare June 5, 2025 21:34
@tgross35
Copy link
Contributor

tgross35 commented Jun 5, 2025

#141993 will be the main relevant PR here, plus hopefully having some kind of testing in-tree.

@rustbot blocked

@rustbot rustbot added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 5, 2025
@folkertdev folkertdev force-pushed the probestack-naked-function branch from 79aa400 to 6b6ad28 Compare June 9, 2025 21:29
@rust-log-analyzer

This comment has been minimized.

@folkertdev folkertdev force-pushed the probestack-naked-function branch from 6b6ad28 to a2da8e0 Compare June 9, 2025 21:50
@rust-log-analyzer

This comment has been minimized.

@folkertdev folkertdev force-pushed the probestack-naked-function branch from a2da8e0 to 601e479 Compare June 9, 2025 22:11
@tgross35
Copy link
Contributor

tgross35 commented Jun 9, 2025

I'll kick off some jobs that should cover fortanix/sgx/uefi

@bors2 try
@bors2 delegate=try

@rust-bors
Copy link

rust-bors bot commented Jun 9, 2025

⌛ Trying commit 601e479 with merge 98919d2

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

@rust-bors
Copy link

rust-bors bot commented Jun 9, 2025

@folkertdev can now perform try builds on this pull request

rust-bors bot added a commit that referenced this pull request Jun 9, 2025
use `#[naked]` for `__rust_probestack`

Let's see if this works now.

Previously this change was in rust-lang/compiler-builtins#897, but we decided to wait until `compiler-builtins` was a subtree (and also `cfg(bootstrap)` is gone now).

r? `@tgross35`  cc `@bjorn3`

try-job: `dist-various*`
try-job: `test-various*`
@tgross35 tgross35 added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Jun 9, 2025
// Our goal here is to touch each page between %rsp+8 and %rsp+8-%rax,
// ensuring that if any pages are unmapped we'll make a page fault.
//
// This function is unsafe because it uses a custom ABI, it does not actually match `extern "C"`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mind making these FIXME(extern_c) since that should be a thing soon?

@rust-bors
Copy link

rust-bors bot commented Jun 10, 2025

☀️ Try build successful (CI)
Build commit: 98919d2 (98919d235b0bc249554b0ced4732020f6e247fe6)

Copy link
Contributor

@tgross35 tgross35 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm, mind stuffing the last commit into the first?

@tgross35
Copy link
Contributor

@bors delegate+

@bors
Copy link
Collaborator

bors commented Jun 10, 2025

✌️ @folkertdev, you can now approve this pull request!

If @tgross35 told you to "r=me" after making some further change, please make that change, then do @bors r=@tgross35

@folkertdev folkertdev force-pushed the probestack-naked-function branch from fff42eb to b030442 Compare June 10, 2025 08:13
@folkertdev
Copy link
Contributor Author

@bors r=@tgross35

@bors
Copy link
Collaborator

bors commented Jun 10, 2025

📌 Commit b030442 has been approved by tgross35

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 Jun 10, 2025
fmease added a commit to fmease/rust that referenced this pull request Jun 10, 2025
…on, r=tgross35

use `#[naked]` for `__rust_probestack`

Let's see if this works now.

Previously this change was in rust-lang/compiler-builtins#897, but we decided to wait until `compiler-builtins` was a subtree (and also `cfg(bootstrap)` is gone now).

r? `@tgross35`  cc `@bjorn3`

try-job: `dist-various*`
try-job: `test-various*`
bors added a commit that referenced this pull request Jun 10, 2025
Rollup of 14 pull requests

Successful merges:

 - #134442 (Specify the behavior of `file!`)
 - #134841 (Look at proc-macro attributes when encountering unknown attribute)
 - #140372 (Exhaustively handle parsed attributes in CheckAttr)
 - #140766 (Stabilize keylocker)
 - #141642 (Note the version and PR of removed features when using it)
 - #141909 (Add central execution context to bootstrap)
 - #141992 (use `#[naked]` for `__rust_probestack`)
 - #142102 (docs: Small clarification on the usage of read_to_string and read_to_end trait methods)
 - #142124 (Allow transmute casts in pre-runtime-MIR)
 - #142240 (deduplicate the rest of AST walker functions)
 - #142258 (platform-support.md: Mention specific Linux kernel version or later)
 - #142262 (Mark `core::slice::memchr` as `#[doc(hidden)]`)
 - #142271 (compiler: fn ptrs should hit different lints based on ABI)
 - #142288 (const_eval: fix some outdated comments)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit that referenced this pull request Jun 10, 2025
Rollup of 16 pull requests

Successful merges:

 - #134442 (Specify the behavior of `file!`)
 - #140372 (Exhaustively handle parsed attributes in CheckAttr)
 - #140766 (Stabilize keylocker)
 - #141642 (Note the version and PR of removed features when using it)
 - #141818 (Don't create .msi installer for gnullvm hosts)
 - #141909 (Add central execution context to bootstrap)
 - #141992 (use `#[naked]` for `__rust_probestack`)
 - #142101 (core::ptr: deduplicate more method docs)
 - #142102 (docs: Small clarification on the usage of read_to_string and read_to_end trait methods)
 - #142124 (Allow transmute casts in pre-runtime-MIR)
 - #142240 (deduplicate the rest of AST walker functions)
 - #142258 (platform-support.md: Mention specific Linux kernel version or later)
 - #142262 (Mark `core::slice::memchr` as `#[doc(hidden)]`)
 - #142271 (compiler: fn ptrs should hit different lints based on ABI)
 - #142275 (rustdoc: Refractor `clean_ty_generics`)
 - #142288 (const_eval: fix some outdated comments)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit a55b610 into rust-lang:master Jun 10, 2025
10 checks passed
@rustbot rustbot added this to the 1.89.0 milestone Jun 10, 2025
rust-timer added a commit that referenced this pull request Jun 10, 2025
Rollup merge of #141992 - folkertdev:probestack-naked-function, r=tgross35

use `#[naked]` for `__rust_probestack`

Let's see if this works now.

Previously this change was in rust-lang/compiler-builtins#897, but we decided to wait until `compiler-builtins` was a subtree (and also `cfg(bootstrap)` is gone now).

r? ``@tgross35``  cc ``@bjorn3``

try-job: `dist-various*`
try-job: `test-various*`
tgross35 pushed a commit to tgross35/compiler-builtins that referenced this pull request Jun 14, 2025
Rollup of 16 pull requests

Successful merges:

 - rust-lang/rust#134442 (Specify the behavior of `file!`)
 - rust-lang/rust#140372 (Exhaustively handle parsed attributes in CheckAttr)
 - rust-lang/rust#140766 (Stabilize keylocker)
 - rust-lang/rust#141642 (Note the version and PR of removed features when using it)
 - rust-lang/rust#141818 (Don't create .msi installer for gnullvm hosts)
 - rust-lang/rust#141909 (Add central execution context to bootstrap)
 - rust-lang/rust#141992 (use `#[naked]` for `__rust_probestack`)
 - rust-lang/rust#142101 (core::ptr: deduplicate more method docs)
 - rust-lang/rust#142102 (docs: Small clarification on the usage of read_to_string and read_to_end trait methods)
 - rust-lang/rust#142124 (Allow transmute casts in pre-runtime-MIR)
 - rust-lang/rust#142240 (deduplicate the rest of AST walker functions)
 - rust-lang/rust#142258 (platform-support.md: Mention specific Linux kernel version or later)
 - rust-lang/rust#142262 (Mark `core::slice::memchr` as `#[doc(hidden)]`)
 - rust-lang/rust#142271 (compiler: fn ptrs should hit different lints based on ABI)
 - rust-lang/rust#142275 (rustdoc: Refractor `clean_ty_generics`)
 - rust-lang/rust#142288 (const_eval: fix some outdated comments)

r? `@ghost`
`@rustbot` modify labels: rollup
tautschnig pushed a commit to model-checking/verify-rust-std that referenced this pull request Jun 17, 2025
…on, r=tgross35

use `#[naked]` for `__rust_probestack`

Let's see if this works now.

Previously this change was in rust-lang/compiler-builtins#897, but we decided to wait until `compiler-builtins` was a subtree (and also `cfg(bootstrap)` is gone now).

r? ``@tgross35``  cc ``@bjorn3``

try-job: `dist-various*`
try-job: `test-various*`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-compiler-builtins Area: compiler-builtins (https://github.com/rust-lang/compiler-builtins) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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.

6 participants