-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add GNU Property Note #110304
Add GNU Property Note #110304
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @davidtwco (or someone else) soon. Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems reasonable to me, r=me after resolving my and @bjorn3's comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi all,
I'm from Arm and worked on PAC/BTI support in specs and LLVM.
Let some comment.
f5812f7
to
1195d22
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Can we test this somehow? Maybe a run-make test with |
@cchiw is OOO this week, but I think that is a reasonable request. I'm assuming writing a test like |
That sounds perfect, thank you! |
|
This comment has been minimized.
This comment has been minimized.
Great. This is addressed now. Thanks for the feedback. |
@bors r=davidtwco |
Rollup of 7 pull requests Successful merges: - rust-lang#110304 (Add GNU Property Note) - rust-lang#110504 (Tweak borrow suggestion span) - rust-lang#110583 (tweak "make mut" spans when assigning to locals) - rust-lang#110694 (Implement builtin # syntax and use it for offset_of!(...)) - rust-lang#111120 (Suggest let for possible binding with ty) - rust-lang#111252 (Min specialization improvements) - rust-lang#111361 (Update books) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Hi, I wanted to learn generally about when crates get pulled into upstream. I guess more specifically when do you think the Object crate will be pulled in? The change I made for the Object crate will be included in their next release. |
Dependency updates are ad hoc, as needed. (for better or worse) You can open a PR to update that in the rust lockfiles once it's ready, with justification of course. |
…ake, r=jieyouxu Ignore `branch-protection-check-IBT` run-make test The old Makefile implementation (rust-lang#110304) had an improper comparison which caused the test to never run. However, both the updated Makefile implementation and the rmake implementation fail (missing `.note.gnu.property`). This could be a bug in the original implementation or test flakiness. Edit: Manually recreating the test case shows that `.note.gnu.property` does not appear in nightly. ```rust // main.rs fn main() { println!("hello world"); } ``` ```sh $ rustc +nightly -V rustc 1.81.0-nightly (c1b336c 2024-06-21) $ rustc +stable -V rustc 1.79.0 (129f3b9 2024-06-10) ``` ```sh $ rustc +nightly -Zcf-protection=branch -Clink-args=-nostartfiles -Csave-temps "-L$PWD" main.rs -o main $ llvm-readobj --elf-output-style=GNU -nW main Displaying notes found in: .note.gnu.build-id Owner Data size Description GNU 0x00000008 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: bcae34e6431b2a37 ``` Compiling without the other flags still does not show `.note.gnu.property`. ```sh $ rustc +nightly main.rs -o main $ llvm-readobj --elf-output-style=GNU -nW main Displaying notes found in: .note.ABI-tag Owner Data size Description GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) OS: Linux, ABI: 4.4.0 Displaying notes found in: .note.gnu.build-id Owner Data size Description GNU 0x00000008 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: d60d5f108b63bf3a ``` Compiling on stable shows `.note.gnu.property`. ```sh $ rustc +stable main.rs -o main $ llvm-readobj --elf-output-style=GNU -nW main Displaying notes found in: .note.gnu.property Owner Data size Description GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 (property note) Properties: x86 ISA needed: x86-64-baseline Displaying notes found in: .note.gnu.build-id Owner Data size Description GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 4a494eb578123314e6ff1caf1c8877e27004664f Displaying notes found in: .note.ABI-tag Owner Data size Description GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) OS: Linux, ABI: 4.4.0 ``` Part of rust-lang#121876. r? `@jieyouxu`
Rollup merge of rust-lang#126720 - Rejyr:migrate-branch-protection-rmake, r=jieyouxu Ignore `branch-protection-check-IBT` run-make test The old Makefile implementation (rust-lang#110304) had an improper comparison which caused the test to never run. However, both the updated Makefile implementation and the rmake implementation fail (missing `.note.gnu.property`). This could be a bug in the original implementation or test flakiness. Edit: Manually recreating the test case shows that `.note.gnu.property` does not appear in nightly. ```rust // main.rs fn main() { println!("hello world"); } ``` ```sh $ rustc +nightly -V rustc 1.81.0-nightly (c1b336c 2024-06-21) $ rustc +stable -V rustc 1.79.0 (129f3b9 2024-06-10) ``` ```sh $ rustc +nightly -Zcf-protection=branch -Clink-args=-nostartfiles -Csave-temps "-L$PWD" main.rs -o main $ llvm-readobj --elf-output-style=GNU -nW main Displaying notes found in: .note.gnu.build-id Owner Data size Description GNU 0x00000008 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: bcae34e6431b2a37 ``` Compiling without the other flags still does not show `.note.gnu.property`. ```sh $ rustc +nightly main.rs -o main $ llvm-readobj --elf-output-style=GNU -nW main Displaying notes found in: .note.ABI-tag Owner Data size Description GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) OS: Linux, ABI: 4.4.0 Displaying notes found in: .note.gnu.build-id Owner Data size Description GNU 0x00000008 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: d60d5f108b63bf3a ``` Compiling on stable shows `.note.gnu.property`. ```sh $ rustc +stable main.rs -o main $ llvm-readobj --elf-output-style=GNU -nW main Displaying notes found in: .note.gnu.property Owner Data size Description GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 (property note) Properties: x86 ISA needed: x86-64-baseline Displaying notes found in: .note.gnu.build-id Owner Data size Description GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 4a494eb578123314e6ff1caf1c8877e27004664f Displaying notes found in: .note.ABI-tag Owner Data size Description GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) OS: Linux, ABI: 4.4.0 ``` Part of rust-lang#121876. r? `@jieyouxu`
Fix #103001
Generates the missing property note: