Uh oh!
There was an error while loading. Please reload this page.
Add support for Control Flow Guard on Windows. - #68180
Conversation
rust-highfive
commented
Jan 13, 2020
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @matthewjasper (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
rust-highfive
commented
Jan 13, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
rust-highfive
commented
Jan 13, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
bjorn3
left a comment
There was a problem hiding this comment.
Please remove yet from not yet supported.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
matthewjasper
commented
Jan 17, 2020
r? @nagisa |
bors
commented
Jan 23, 2020
☔ The latest upstream changes (presumably #68474) made this pull request unmergeable. Please resolve the merge conflicts. |
There was a problem hiding this comment.
Please rename this variant to MetadataOnly or something else along the lines. Nochecks seems to imply CFG is disabled entirely, which it isn’t.
There was a problem hiding this comment.
The nochecks variant was intended to match the corresponding -cfguard,nochecks option in Clang (https://reviews.llvm.org/rL339420). Should we keep this terminology for consistency?
The intention is really to convey that this is "Control Flow Guard without any run-time checks". Is there somewhere in the documentation I could explain this?
There was a problem hiding this comment.
I guess you can keep it in that case. Just s/Nochecks/NoChecks/. There are a couple of places for this documentation to go, including in the manpages and the unstable book.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
rust-highfive
commented
Jan 27, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
nagisa
commented
Jan 28, 2020
@bors r+ Thanks! |
bors
commented
Jan 28, 2020
📌 Commit 3b91aad265e977a59d3efa20bb31b213520fdd03 has been approved by |
ajpaverd
commented
Jan 28, 2020
bors
commented
Jan 28, 2020
@ajpaverd: 🔑 Insufficient privileges: Not in reviewers |
nagisa
commented
Jan 28, 2020
Sure, please do squash. |
This patch enables rustc to emit the required LLVM module flags to enable Control Flow Guard metadata (cfguard=1) or metadata and checks (cfguard=2). The LLVM module flags are ignored on unsupported targets and operating systems.
bors
commented
Jan 28, 2020
⌛ Testing commit 3b91aad265e977a59d3efa20bb31b213520fdd03 with merge 176b807bde66b7a680917edbe4a731cff8c1f68b... |
ajpaverd
commented
Jan 30, 2020
Did my squash+rebase inadvertently interrupt bors' testing and merging? |
bjorn3
commented
Jan 30, 2020
Yes, any push will prevent a PR from being merged before someone approves it again. |
nagisa
commented
Jan 30, 2020
@bors r+ Sorry didn’t notice the squash. Thanks for doing it. |
bors
commented
Jan 30, 2020
📌 Commit c0744e1 has been approved by |
Add support for Control Flow Guard on Windows. LLVM now supports Windows Control Flow Guard (CFG): llvm/llvm-project@d157a9b This patch adds support for rustc to emit the required LLVM module flags to enable CFG metadata (cfguard=1) or metadata and checks (cfguard=2). The LLVM module flags are ignored on unsupported targets and operating systems.
bors
commented
Jan 30, 2020
bors
commented
Jan 30, 2020
💥 Test timed out |
ajpaverd
commented
Feb 1, 2020
Is there a way to figure out what caused the bors tests to time out (the logs just seem to say the operation was cancelled)? |
nagisa
commented
Feb 1, 2020
Looks like it may have been cancelled manually (https://dev.azure.com/rust-lang/rust/_build/results?buildId=19568&view=results) probably to give way to something more important. Lets just retry for now. Thanks for bringing it to my attention. @bors r+ |
bors
commented
Feb 1, 2020
💡 This pull request was already approved, no need to approve it again.
|
bors
commented
Feb 1, 2020
📌 Commit c0744e1 has been approved by |
bors
commented
Feb 1, 2020
Add support for Control Flow Guard on Windows. LLVM now supports Windows Control Flow Guard (CFG): llvm/llvm-project@d157a9b This patch adds support for rustc to emit the required LLVM module flags to enable CFG metadata (cfguard=1) or metadata and checks (cfguard=2). The LLVM module flags are ignored on unsupported targets and operating systems.
bors
commented
Feb 1, 2020
☀️ Test successful - checks-azure |
…Simulacrum Enable Control Flow Guard in rustbuild Now that Rust supports Control Flow Guard (rust-lang#68180), add a config.toml option to build the standard library with CFG enabled. r? @nagisa
LLVM now supports Windows Control Flow Guard (CFG): llvm/llvm-project@d157a9b
This patch adds support for rustc to emit the required LLVM module flags to enable CFG metadata (cfguard=1) or metadata and checks (cfguard=2). The LLVM module flags are ignored on unsupported targets and operating systems.