Skip to content
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

cleanup: remove the *san Cargo features from std #39860

Merged
merged 2 commits into from
Mar 8, 2017
Merged

Conversation

japaric
Copy link
Member

@japaric japaric commented Feb 15, 2017

these belong to a previous iteration of the sanitizer implementation

r? @alexcrichton
cc @whitequark

@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (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.

@alexcrichton
Copy link
Member

@bors: r+

Thanks!

@bors
Copy link
Contributor

bors commented Feb 15, 2017

📌 Commit d22891e has been approved by alexcrichton

frewsxcv added a commit to frewsxcv/rust that referenced this pull request Feb 17, 2017
cleanup: remove the *san Cargo features from std

these belong to a previous iteration of the sanitizer implementation

r? @alexcrichton
cc @whitequark
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Feb 17, 2017
cleanup: remove the *san Cargo features from std

these belong to a previous iteration of the sanitizer implementation

r? @alexcrichton
cc @whitequark
@frewsxcv
Copy link
Member

This PR might have caused this issue: https://travis-ci.org/rust-lang/rust/jobs/202521389

@bors
Copy link
Contributor

bors commented Feb 18, 2017

⌛ Testing commit d22891e with merge 1d20fc1...

@bors
Copy link
Contributor

bors commented Feb 18, 2017

💔 Test failed - status-travis

@japaric
Copy link
Member Author

japaric commented Feb 20, 2017

command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "-j" "4" "--target" "arm-unknown-linux-gnueabihf" "--release" "--locked" "--manifest-path" "/checkout/src/rustc/std_shim/Cargo.toml" "--features" "panic-unwind jemalloc backtrace" "-p" "std_shim:0.0.0" "-p" "core:0.0.0" "-p" "std:0.0.0" "-p" "std_unicode:0.0.0" "-p" "rand:0.0.0" "-p" "collections:0.0.0" "-p" "panic_abort:0.0.0" "-p" "compiler_builtins:0.0.0" "-p" "unwind:0.0.0" "-p" "rustc_asan:0.0.0" "-p" "rustc_msan:0.0.0" "-p" "rustc_tsan:0.0.0" "-p" "alloc:0.0.0" "-p" "rustc_lsan:0.0.0" "-p" "alloc_system:0.0.0" "-p" "libc:0.0.0" "--no-run" "--" "--quiet"

This looks wrong because rustc_asan and friends are only dependencies of std on x86_64 Linux but this is testing for arm-linux. It seems that bootstrap has build the dependency graph of std assuming that the target is x86_64-linux. bootstrap is using cargo metadata to build the dependency graph and that contains target information so this seems fixable. I'll take a look.

@japaric
Copy link
Member Author

japaric commented Feb 20, 2017

If I'm reding this correctly, bootstrap uses cargo metadatas resolve field which, I think, contains the dependency graph that has been resolved for the host -- we can't use that one because that's e.g. for x86_64-linux but we want the dep graph for arm-linux.

cargo metadata also contains a "non resolved" version which seems to be pretty much a verbatim copy of the involved Cargo.tomls. That version distinguishes between dependencies and target.*.dependencies. We could use that "non resolved" version but the "target" information is represented as, e.g., null, "cfg(os = "windows")" and "x86_64-unknown-linux-gnu". The second form, with the cfg, seem like it's going to be difficult to dealt with. We'll have to replicate some of Cargo's cfg logic :-/.

A much simpler but hacky solution would be to blacklist rustc_asan and company in check.rs; that way we could filter away those crates so they are never passed to the cargo test command shown above.

@alexcrichton thoughts? ^

@alexcrichton
Copy link
Member

@japaric I think the easiest solution would be to add this to all sanitizer Cargo.toml, right?

[lib]
test = false

The lib isn't intended to be unit tested, right?

@japaric
Copy link
Member Author

japaric commented Feb 22, 2017

Oh, is that enough? OK. r? @alexcrichton

@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Contributor

bors commented Feb 22, 2017

📌 Commit 2496f8a has been approved by alexcrichton

@bors
Copy link
Contributor

bors commented Feb 23, 2017

⌛ Testing commit 2496f8a with merge 98b8826...

@bors
Copy link
Contributor

bors commented Feb 23, 2017

💔 Test failed - status-travis

@alexcrichton
Copy link
Member

alexcrichton commented Feb 23, 2017 via email

@bors
Copy link
Contributor

bors commented Feb 24, 2017

☔ The latest upstream changes (presumably #39851) made this pull request unmergeable. Please resolve the merge conflicts.

@bors
Copy link
Contributor

bors commented Feb 25, 2017

🔒 Merge conflict

@alexcrichton
Copy link
Member

ping @japaric (rebase)

these belong to a previous iteration of the sanitizer implementation
@japaric
Copy link
Member Author

japaric commented Mar 6, 2017

@alexcrichton rebased

@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Contributor

bors commented Mar 6, 2017

📌 Commit 28baa27 has been approved by alexcrichton

@bors
Copy link
Contributor

bors commented Mar 8, 2017

⌛ Testing commit 28baa27 with merge ee60afa...

bors added a commit that referenced this pull request Mar 8, 2017
cleanup: remove the *san Cargo features from std

these belong to a previous iteration of the sanitizer implementation

r? @alexcrichton
cc @whitequark
@bors
Copy link
Contributor

bors commented Mar 8, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing ee60afa to master...

@bors bors merged commit 28baa27 into rust-lang:master Mar 8, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants