rust icon indicating copy to clipboard operation
rust copied to clipboard

use `#[naked]` for `__rust_probestack`

Open folkertdev opened this issue 7 months ago • 15 comments

Let's see if this works now.

Previously this change was in https://github.com/rust-lang/compiler-builtins/pull/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*

folkertdev avatar Jun 03 '25 23:06 folkertdev

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

cc @tgross35

rustbot avatar Jun 03 '25 23:06 rustbot

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

tgross35 avatar Jun 03 '25 23:06 tgross35

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.

folkertdev avatar Jun 03 '25 23:06 folkertdev

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

bors avatar Jun 05 '25 20:06 bors

https://github.com/rust-lang/rust/pull/141993 will be the main relevant PR here, plus hopefully having some kind of testing in-tree.

@rustbot blocked

tgross35 avatar Jun 05 '25 23:06 tgross35

The job x86_64-gnu-llvm-19 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
#19 exporting to docker image format
#19 sending tarball 27.0s done
#19 DONE 34.7s
##[endgroup]
Setting extra environment values for docker:  --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-19]
[CI_JOB_NAME=x86_64-gnu-llvm-19]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
sccache: Listening on address 127.0.0.1:4226
##[group]Configure the build
configure: processing command line
configure: 
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-19', '--enable-llvm-link-shared', '--set', 'rust.randomize-layout=true', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'build.print-step-timings', '--enable-verbose-tests', '--set', 'build.metrics', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--set', 'gcc.download-ci-gcc=true', '--enable-new-symbol-mangling']
configure: build.build          := x86_64-unknown-linux-gnu
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-19/bin/llvm-config
configure: llvm.link-shared     := True
configure: rust.randomize-layout := True
configure: rust.thin-lto-import-instr-limit := 10
---
    |
127 | >>>>>>> d6dd2696443 (use `#[naked]` for `__rust_probestack`)
    |                          ^
    |
help: Unicode character '`' (Grave Accent) looks like ''' (Single Quote), but it is not
    |
127 - >>>>>>> d6dd2696443 (use `#[naked]` for `__rust_probestack`)
127 + >>>>>>> d6dd2696443 (use '#[naked]` for `__rust_probestack`)
    |

error: unknown start of token: `
   --> library/compiler-builtins/compiler-builtins/src/probestack.rs:127:35
    |
127 | >>>>>>> d6dd2696443 (use `#[naked]` for `__rust_probestack`)
    |                                   ^
    |
help: Unicode character '`' (Grave Accent) looks like ''' (Single Quote), but it is not
    |
127 - >>>>>>> d6dd2696443 (use `#[naked]` for `__rust_probestack`)
127 + >>>>>>> d6dd2696443 (use `#[naked]' for `__rust_probestack`)
    |

error: unknown start of token: `
   --> library/compiler-builtins/compiler-builtins/src/probestack.rs:127:41
    |
127 | >>>>>>> d6dd2696443 (use `#[naked]` for `__rust_probestack`)
    |                                         ^
    |
help: Unicode character '`' (Grave Accent) looks like ''' (Single Quote), but it is not
    |
127 - >>>>>>> d6dd2696443 (use `#[naked]` for `__rust_probestack`)
127 + >>>>>>> d6dd2696443 (use `#[naked]` for '__rust_probestack`)
    |

error: unknown start of token: `
   --> library/compiler-builtins/compiler-builtins/src/probestack.rs:127:59
    |
127 | >>>>>>> d6dd2696443 (use `#[naked]` for `__rust_probestack`)
    |                                                           ^
    |
help: Unicode character '`' (Grave Accent) looks like ''' (Single Quote), but it is not
    |
127 - >>>>>>> d6dd2696443 (use `#[naked]` for `__rust_probestack`)
127 + >>>>>>> d6dd2696443 (use `#[naked]` for `__rust_probestack')
    |

error: encountered diff marker
   --> library/compiler-builtins/compiler-builtins/src/probestack.rs:52:1
    |
52  | <<<<<<< HEAD
    | ^^^^^^^ between this marker and `=======` is the code that we're merging into
...
126 | =======
    | ------- between this marker and `>>>>>>>` is the incoming code
127 | >>>>>>> d6dd2696443 (use `#[naked]` for `__rust_probestack`)
    | ^^^^^^^ this marker concludes the conflict region
    |
    = note: conflict markers indicate that a merge was started but could not be completed due to merge conflicts
            to resolve a conflict, keep only the code you want and then delete the lines containing conflict markers
    = help: if you're having merge conflicts after pulling new code:
            the top section is the code you already had and the bottom section is the remote code
            if you're in the middle of a rebase:
            the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
    = note: for an explanation on these markers from the `git` documentation:
            visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>

[RUSTC-TIMING] compiler_builtins test:false 0.055
error: could not compile `compiler_builtins` (lib) due to 5 previous errors
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] core test:false 34.148

rust-log-analyzer avatar Jun 09 '25 21:06 rust-log-analyzer

The job x86_64-gnu-llvm-19 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
#19 exporting to docker image format
#19 sending tarball 28.1s done
#19 DONE 36.6s
##[endgroup]
Setting extra environment values for docker:  --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-19]
[CI_JOB_NAME=x86_64-gnu-llvm-19]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
sccache: Listening on address 127.0.0.1:4226
##[group]Configure the build
configure: processing command line
configure: 
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-19', '--enable-llvm-link-shared', '--set', 'rust.randomize-layout=true', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'build.print-step-timings', '--enable-verbose-tests', '--set', 'build.metrics', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--set', 'gcc.download-ci-gcc=true', '--enable-new-symbol-mangling']
configure: build.build          := x86_64-unknown-linux-gnu
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-19/bin/llvm-config
configure: llvm.link-shared     := True
configure: rust.randomize-layout := True
configure: rust.thin-lto-import-instr-limit := 10

rust-log-analyzer avatar Jun 09 '25 22:06 rust-log-analyzer

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

@bors2 try @bors2 delegate=try

tgross35 avatar Jun 09 '25 22:06 tgross35

:hourglass: Trying commit 601e479816a23395019416e550d3a55567a2833c with merge 98919d235b0bc249554b0ced4732020f6e247fe6…

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

rust-bors[bot] avatar Jun 09 '25 22:06 rust-bors[bot]

@folkertdev can now perform try builds on this pull request

rust-bors[bot] avatar Jun 09 '25 22:06 rust-bors[bot]

:sunny: Try build successful (CI) Build commit: 98919d235b0bc249554b0ced4732020f6e247fe6 (98919d235b0bc249554b0ced4732020f6e247fe6)

rust-bors[bot] avatar Jun 10 '25 00:06 rust-bors[bot]

@bors delegate+

tgross35 avatar Jun 10 '25 05:06 tgross35

:v: @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

bors avatar Jun 10 '25 05:06 bors

@bors r=@tgross35

folkertdev avatar Jun 10 '25 09:06 folkertdev

:pushpin: Commit b030442eb692cdbc30d13613db778aefe7397fa7 has been approved by tgross35

It is now in the queue for this repository.

bors avatar Jun 10 '25 09:06 bors