use `#[naked]` for `__rust_probestack`
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*
compiler-builtins is developed in its own repository. If possible, consider making this change to rust-lang/compiler-builtins instead.
cc @tgross35
It will most definitely work, in-tree compiler-builtins has no CI running and it is not yet used for anything :)
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.
:umbrella: The latest upstream changes (presumably #142081) made this pull request unmergeable. Please resolve the merge conflicts.
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
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
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
I'll kick off some jobs that should cover fortanix/sgx/uefi
@bors2 try @bors2 delegate=try
:hourglass: Trying commit 601e479816a23395019416e550d3a55567a2833c with merge 98919d235b0bc249554b0ced4732020f6e247fe6…
To cancel the try build, run the command @bors2 try cancel.
@folkertdev can now perform try builds on this pull request
:sunny: Try build successful (CI)
Build commit: 98919d235b0bc249554b0ced4732020f6e247fe6 (98919d235b0bc249554b0ced4732020f6e247fe6)
@bors delegate+
: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 r=@tgross35
:pushpin: Commit b030442eb692cdbc30d13613db778aefe7397fa7 has been approved by tgross35
It is now in the queue for this repository.