-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
Create x86_64-unknown-linux-gnuasan target which enables ASAN by default #149644
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
base: main
Are you sure you want to change the base?
Conversation
|
This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp. These commits modify compiler targets. |
This comment has been minimized.
This comment has been minimized.
|
Thanks. You will have to modify this PR to meet the guidelines outlined at https://doc.rust-lang.org/rustc/target-tier-policy.html#adding-a-new-target. @rustbot author |
|
Reminder, once the PR becomes ready for a review, use |
d26433e to
9ee5543
Compare
|
Some changes occurred in src/doc/rustc/src/platform-support cc @Noratrieb |
This comment has been minimized.
This comment has been minimized.
compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_asan_gnu.rs
Outdated
Show resolved
Hide resolved
9ee5543 to
96ca640
Compare
This comment has been minimized.
This comment has been minimized.
96ca640 to
157ebd5
Compare
This comment has been minimized.
This comment has been minimized.
compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_asan_gnu.rs
Outdated
Show resolved
Hide resolved
30677c5 to
913b7f7
Compare
This comment has been minimized.
This comment has been minimized.
|
@bors retry |
|
@jakos-sec: 🔑 Insufficient privileges: not in try users |
913b7f7 to
a504ca4
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
a504ca4 to
da92150
Compare
This comment has been minimized.
This comment has been minimized.
da92150 to
35d2795
Compare
|
@rustbot ready |
|
|
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.
Just two more nits. I believe once the discussion in Zulip thread settles, we can more forward.
|
FYI I opened the MCP so we can change this to Tier 2 (to actually allow shipping prebuilt artifacts): rust-lang/compiler-team#951 |
35d2795 to
9d5da0f
Compare
This comment has been minimized.
This comment has been minimized.
|
☔ The latest upstream changes (presumably #149831) made this pull request unmergeable. Please resolve the merge conflicts. |
7e8ab42 to
7b3e9e3
Compare
This comment has been minimized.
This comment has been minimized.
As suggested, in order to distribute sanitizer instrumented standard libraries without introducing new rustc flags, this adds a new dedicated target. With the target, we can distribute the instrumented standard libraries through a separate rustup component.
7b3e9e3 to
dd03135
Compare
|
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. |
|
Now that the MCP is accepted I guess this is ready for another review as a Tier 2 target now. |
|
Yeah, I updated the labels in the morning. GH somehow terribly mangled the information about it. I'll have a look later. |
As suggested, in order to distribute sanitizer instrumented standard libraries without introducing new rustc flags, this adds a new dedicated target. With the target, we can distribute the instrumented standard libraries through a separate rustup component.
I pledge to do my best maintaining it and we can also include the folks from the Exploit Mitigations Project Group (rcvalle@ & 1c3t3a@).
I've chosen
x86_64-unknown-linux-gnuasanas the name which was suggested on #t-compiler/major changes > Create new Tier 2 targets with sanitizers… compiler-team#951 @ 💬.There should be no confusion, it's clear that it's the original target with ASAN enabled.
Only letters, numbers and dashes used.
There are no unusual requirements to build or use it. It's the original
x86_64-unknown-linux-gnutarget with ASAN enabled as a default sanitizer.There are no license implications.
Given, by reusing the existing ASAN code.
There are no new dependencies/features required.
It's using open source tools only.
There are no such terms present.
Understood.
Understood.
The goal is to have ASAN instrumented standard library variants of the existing
x86_64-unknown-linux-gnutarget, so all should be present.I think the explanation in platform support doc is enough to make this aspect clear.
Understood.
Understood.
I don't believe this PR is affected by this.
The target should work on all rustc versions that correctly compile for
x86_64-unknown-linux-gnu.