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

rustc: Link LLVM directly into rustc again #65703

Closed

Conversation

alexcrichton
Copy link
Member

This commit builds on #65501 continue to simplify the build system and
compiler now that we no longer have multiple LLVM backends to ship by
default. Here this switches the compiler back to what it once was long
long ago, which is linking LLVM directly to the compiler rather than
dynamically loading it at runtime. The codegen-backends directory of
the sysroot no longer exists and all relevant support in the build
system is removed. Note that rustc still supports a dynamically loaded
codegen backend as it did previously, it just no longer supports
dynamically loaded codegen backends in its own sysroot.

Additionally as part of this the librustc_codegen_llvm crate now once
again explicitly depends on all of its crates instead of implicitly
loading them through the sysroot. This involved filling out its
Cargo.toml and deleting all the now-unnecessary extern crate
annotations in the header of the crate. (this in turn required adding a
number of imports for names of macros too).

The end results of this change are:

  • Rustbuild's build process for the compiler as all the "oh don't forget
    the codegen backend" checks can be easily removed.
  • Building rustc_codegen_llvm is much simpler since it's simply
    another compiler crate.
  • Managing the dependencies of rustc_codegen_llvm is much simpler since
    it's "just another Cargo.toml to edit"
  • The build process should be a smidge faster because there's more
    parallelism in the main rustc build step rather than splitting
    librustc_codegen_llvm out to its own step.
  • The compiler is expected to be slightly faster by default because the
    codegen backend does not need to be dynamically loaded.
  • Disabling LLVM as part of rustbuild is still supported, supporting
    multiple codegen backends is still supported, and dynamic loading of a
    codegen backend is still supported.

@rust-highfive
Copy link
Collaborator

r? @zackmdavis

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 22, 2019
@alexcrichton
Copy link
Member Author

r? @Mark-Simulacrum

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-10-22T16:21:31.7803739Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-10-22T16:21:31.8065067Z ##[command]git config gc.auto 0
2019-10-22T16:21:31.8168389Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-10-22T16:21:31.8240218Z ##[command]git config --get-all http.proxy
2019-10-22T16:21:31.8380156Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/65703/merge:refs/remotes/pull/65703/merge
---
2019-10-22T16:28:15.4882918Z Done!
2019-10-22T16:28:15.4882968Z some tidy checks failed
2019-10-22T16:28:15.4883003Z 
2019-10-22T16:28:15.4883033Z 
2019-10-22T16:28:15.4887129Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor"
2019-10-22T16:28:15.4887585Z 
2019-10-22T16:28:15.4887649Z 
2019-10-22T16:28:15.4887817Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-10-22T16:28:15.4887880Z Build completed unsuccessfully in 0:01:34
2019-10-22T16:28:15.4887880Z Build completed unsuccessfully in 0:01:34
2019-10-22T16:28:15.4938015Z == clock drift check ==
2019-10-22T16:28:15.4947787Z   local time: Tue Oct 22 16:28:15 UTC 2019
2019-10-22T16:28:15.5908417Z   network time: Tue, 22 Oct 2019 16:28:15 GMT
2019-10-22T16:28:15.5908854Z == end clock drift check ==
2019-10-22T16:28:16.9418429Z 
2019-10-22T16:28:16.9533196Z ##[error]Bash exited with code '1'.
2019-10-22T16:28:16.9576630Z ##[section]Starting: Checkout
2019-10-22T16:28:16.9579185Z ==============================================================================
2019-10-22T16:28:16.9579277Z Task         : Get sources
2019-10-22T16:28:16.9579326Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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 @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

Your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-10-22T18:20:30.9636625Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-10-22T18:20:30.9854292Z ##[command]git config gc.auto 0
2019-10-22T18:20:30.9925141Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-10-22T18:20:30.9978119Z ##[command]git config --get-all http.proxy
2019-10-22T18:20:31.6159844Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/65703/merge:refs/remotes/pull/65703/merge

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 @TimNN. (Feature Requests)

@Mark-Simulacrum
Copy link
Member

This pretty much looks great to me -- less steps in bootstrap is always an improvement!

@bors r+

(CI failure appears to be spurious)

@bors
Copy link
Contributor

bors commented Oct 22, 2019

📌 Commit 6bbede35569584aef12cfde9cb9093cc21483c0b has been approved by Mark-Simulacrum

@bors
Copy link
Contributor

bors commented Oct 22, 2019

🌲 The tree is currently closed for pull requests below priority 1000, this pull request will be tested once the tree is reopened

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 22, 2019
@bors
Copy link
Contributor

bors commented Oct 24, 2019

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

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 24, 2019
@alexcrichton
Copy link
Member Author

@bors: r=Mark-Simulacrum

@bors
Copy link
Contributor

bors commented Oct 25, 2019

📌 Commit 5ac40ea197bf4b7d2ff5bd98f0ec7fcec1dc8735 has been approved by Mark-Simulacrum

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Oct 25, 2019
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-10-25T14:55:05.6212979Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-10-25T14:55:05.6378467Z ##[command]git config gc.auto 0
2019-10-25T14:55:05.6800368Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-10-25T14:55:05.6865543Z ##[command]git config --get-all http.proxy
2019-10-25T14:55:05.7006421Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/65703/merge:refs/remotes/pull/65703/merge
---
2019-10-25T15:53:54.8320628Z .................................................................................................... 1600/9251
2019-10-25T15:54:00.2054559Z .................................................................................................... 1700/9251
2019-10-25T15:54:12.3732271Z ........................................................i...............i........................... 1800/9251
2019-10-25T15:54:19.7201221Z .................................................................................................... 1900/9251
2019-10-25T15:54:34.1611603Z ..............................................iiiii................................................. 2000/9251
2019-10-25T15:54:44.8914680Z .................................................................................................... 2200/9251
2019-10-25T15:54:47.4693223Z .................................................................................................... 2300/9251
2019-10-25T15:54:51.4336223Z .................................................................................................... 2400/9251
2019-10-25T15:55:14.9891606Z .................................................................................................... 2500/9251
---
2019-10-25T15:58:02.4222560Z .................................................i...............i.................................. 4800/9251
2019-10-25T15:58:11.0194116Z .................................................................................................... 4900/9251
2019-10-25T15:58:19.4638208Z .................................................................................................... 5000/9251
2019-10-25T15:58:25.5411764Z .................................................................................................... 5100/9251
2019-10-25T15:58:35.6324965Z ..................................................ii.ii...........i................................. 5200/9251
2019-10-25T15:58:44.9808948Z .................................................................................................... 5400/9251
2019-10-25T15:58:54.0568425Z .................................................................................................... 5500/9251
2019-10-25T15:59:01.6323440Z ....................i............................................................................... 5600/9251
2019-10-25T15:59:07.0199007Z .................................................................................................... 5700/9251
2019-10-25T15:59:07.0199007Z .................................................................................................... 5700/9251
2019-10-25T15:59:18.7548302Z .................................................................................................... 5800/9251
2019-10-25T15:59:29.8070165Z .................ii...i..ii...........i............................................................. 5900/9251
2019-10-25T15:59:50.7649864Z .................................................................................................... 6100/9251
2019-10-25T15:59:58.8984389Z .................................................................................................... 6200/9251
2019-10-25T15:59:58.8984389Z .................................................................................................... 6200/9251
2019-10-25T16:00:14.1180224Z ........................................i..ii....................................................... 6300/9251
2019-10-25T16:00:35.6411713Z .................................................................................................... 6500/9251
2019-10-25T16:00:37.7083410Z ......i............................................................................................. 6600/9251
2019-10-25T16:00:39.8002302Z .................................................................................i.................. 6700/9251
2019-10-25T16:00:42.2813232Z .................................................................................................... 6800/9251
---
2019-10-25T16:05:07.0295970Z  finished in 5.497
2019-10-25T16:05:07.0472169Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-10-25T16:05:07.2436115Z 
2019-10-25T16:05:07.2436929Z running 153 tests
2019-10-25T16:05:10.2869489Z i....iii......iii..iiii...i..............................i.i..................i....i...........ii.i. 100/153
2019-10-25T16:05:12.1593908Z i..iiii..............i.........iii.i.........ii......
2019-10-25T16:05:12.1597149Z 
2019-10-25T16:05:12.1598116Z  finished in 5.112
2019-10-25T16:05:12.1767756Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-10-25T16:05:12.3527552Z 
---
2019-10-25T16:05:14.2971066Z  finished in 2.119
2019-10-25T16:05:14.3161732Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-10-25T16:05:14.4731997Z 
2019-10-25T16:05:14.4733664Z running 9 tests
2019-10-25T16:05:14.4734837Z iiiiiiiii
2019-10-25T16:05:14.4735303Z 
2019-10-25T16:05:14.4735400Z  finished in 0.157
2019-10-25T16:05:14.4923737Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-10-25T16:05:14.7044209Z 
---
2019-10-25T16:05:32.6909067Z  finished in 18.198
2019-10-25T16:05:32.7139094Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-10-25T16:05:32.9190359Z 
2019-10-25T16:05:32.9191539Z running 123 tests
2019-10-25T16:05:56.5840125Z .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....ii..........iiii..........i...ii...i.......ii. 100/123
2019-10-25T16:06:01.0749636Z i.i.i......iii.i.....ii
2019-10-25T16:06:01.0753680Z 
2019-10-25T16:06:01.0755299Z  finished in 28.361
2019-10-25T16:06:01.0761422Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-10-25T16:06:01.0761715Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2019-10-25T16:18:15.9379509Z 
2019-10-25T16:18:15.9380292Z    Doc-tests core
2019-10-25T16:18:21.1257823Z 
2019-10-25T16:18:21.1258064Z running 2407 tests
2019-10-25T16:18:31.7215185Z ......iiiii......................................................................................... 100/2407
2019-10-25T16:18:42.0349154Z ................................................................................ii.................. 200/2407
2019-10-25T16:19:06.4192480Z ..i................................................................................................. 400/2407
2019-10-25T16:19:06.4192480Z ..i................................................................................................. 400/2407
2019-10-25T16:19:16.4414805Z .................................................i..i.................iiii.......................... 500/2407
2019-10-25T16:19:35.7780223Z .................................................................................................... 700/2407
2019-10-25T16:19:45.8049400Z .................................................................................................... 800/2407
2019-10-25T16:19:55.7625819Z .................................................................................................... 900/2407
2019-10-25T16:20:05.7297294Z .................................................................................................... 1000/2407
---
2019-10-25T16:24:11.1273086Z 
2019-10-25T16:24:11.1275231Z running 997 tests
2019-10-25T16:24:31.9612176Z i................................................................................................... 100/997
2019-10-25T16:24:43.1791860Z .................................................................................................... 200/997
2019-10-25T16:24:51.1380198Z ...................iii......i......i...i......i..................................................... 300/997
2019-10-25T16:24:56.6052926Z .................................................................................................... 400/997
2019-10-25T16:25:04.1468628Z ........................................i..i.................................ii..................... 500/997
2019-10-25T16:25:18.1565635Z .................................................................................................... 700/997
2019-10-25T16:25:18.1565635Z .................................................................................................... 700/997
2019-10-25T16:25:25.6706751Z .......................iiii......................................................................... 800/997
2019-10-25T16:25:40.9457361Z .................................................................................................... 900/997
2019-10-25T16:25:48.4160726Z .............................................iiii................................................
2019-10-25T16:25:48.4161644Z 
2019-10-25T16:25:48.4216805Z  finished in 191.090
2019-10-25T16:25:48.4232225Z Testing term stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-10-25T16:25:48.6465017Z    Compiling term v0.0.0 (/checkout/src/libterm)
---
2019-10-25T16:27:13.5669062Z running 6 tests
2019-10-25T16:27:13.8179567Z FFFFF.
2019-10-25T16:27:13.8179726Z failures:
2019-10-25T16:27:13.8179956Z 
2019-10-25T16:27:13.8181421Z ---- back/bytecode.rs - back::bytecode (line 13) stdout ----
2019-10-25T16:27:13.8186424Z error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `LLVM`
2019-10-25T16:27:13.8186820Z  --> back/bytecode.rs:14:6
2019-10-25T16:27:13.8186866Z   |
2019-10-25T16:27:13.8187340Z 3 | RLIB LLVM-BYTECODE OBJECT LAYOUT
2019-10-25T16:27:13.8187397Z   |      ^^^^ expected one of 8 possible tokens here
2019-10-25T16:27:13.8187504Z error: aborting due to previous error
2019-10-25T16:27:13.8187531Z 
2019-10-25T16:27:13.8187726Z Couldn't compile the test.
2019-10-25T16:27:13.8187726Z Couldn't compile the test.
2019-10-25T16:27:13.8187960Z ---- back/lto.rs - back::lto::thin_lto (line 370) stdout ----
2019-10-25T16:27:13.8188011Z error: expected one of `.`, `;`, `?`, `}`, or an operator, found `Prepare`
2019-10-25T16:27:13.8188197Z  --> back/lto.rs:371:4
2019-10-25T16:27:13.8188253Z   |
2019-10-25T16:27:13.8188296Z 3 | 1. Prepare a "summary" of each LLVM module in question which describes
2019-10-25T16:27:13.8188343Z   |    ^^^^^^^ expected one of `.`, `;`, `?`, `}`, or an operator here
2019-10-25T16:27:13.8188429Z error: aborting due to previous error
2019-10-25T16:27:13.8188455Z 
2019-10-25T16:27:13.8188639Z Couldn't compile the test.
2019-10-25T16:27:13.8188868Z ---- debuginfo/doc.rs - debuginfo::doc (line 149) stdout ----
2019-10-25T16:27:13.8188868Z ---- debuginfo/doc.rs - debuginfo::doc (line 149) stdout ----
2019-10-25T16:27:13.8189092Z error: expected one of `.`, `;`, `?`, `}`, or an operator, found `The`
2019-10-25T16:27:13.8189327Z  --> debuginfo/doc.rs:150:5
2019-10-25T16:27:13.8189385Z   |
2019-10-25T16:27:13.8189430Z 3 | (1) The first part is the SVH (strict version hash) of the crate they
2019-10-25T16:27:13.8189478Z   |     ^^^ expected one of `.`, `;`, `?`, `}`, or an operator here
2019-10-25T16:27:13.8189565Z error: aborting due to previous error
2019-10-25T16:27:13.8189592Z 
2019-10-25T16:27:13.8189777Z Couldn't compile the test.
2019-10-25T16:27:13.8189990Z ---- debuginfo/doc.rs - debuginfo::doc (line 31) stdout ----
2019-10-25T16:27:13.8189990Z ---- debuginfo/doc.rs - debuginfo::doc (line 31) stdout ----
2019-10-25T16:27:13.8190054Z error[E0425]: cannot find function `file_metadata` in this scope
2019-10-25T16:27:13.8190243Z  --> debuginfo/doc.rs:32:21
2019-10-25T16:27:13.8190283Z   |
2019-10-25T16:27:13.8190340Z 3 | let file_metadata = file_metadata(crate_context, path);
2019-10-25T16:27:13.8190423Z 
2019-10-25T16:27:13.8190463Z error[E0425]: cannot find value `crate_context` in this scope
2019-10-25T16:27:13.8190684Z  --> debuginfo/doc.rs:32:35
2019-10-25T16:27:13.8190725Z   |
2019-10-25T16:27:13.8190725Z   |
2019-10-25T16:27:13.8190840Z 3 | let file_metadata = file_metadata(crate_context, path);
2019-10-25T16:27:13.8191304Z 
2019-10-25T16:27:13.8191589Z error[E0423]: expected value, found built-in attribute `path`
2019-10-25T16:27:13.8191816Z  --> debuginfo/doc.rs:32:50
2019-10-25T16:27:13.8191861Z   |
2019-10-25T16:27:13.8191861Z   |
2019-10-25T16:27:13.8191907Z 3 | let file_metadata = file_metadata(crate_context, path);
2019-10-25T16:27:13.8191973Z   |                                                  ^^^^ not a value
2019-10-25T16:27:13.8192077Z   |
2019-10-25T16:27:13.8192147Z 2 | use syntax::symbol::sym::path;
2019-10-25T16:27:13.8192188Z   |
2019-10-25T16:27:13.8192231Z 2 | use syntax_pos::sym::path;
2019-10-25T16:27:13.8192231Z 2 | use syntax_pos::sym::path;
2019-10-25T16:27:13.8192273Z   |
2019-10-25T16:27:13.8192444Z 
2019-10-25T16:27:13.8192499Z error: aborting due to 3 previous errors
2019-10-25T16:27:13.8192528Z 
2019-10-25T16:27:13.8192573Z Some errors have detailed explanations: E0423, E0425.
2019-10-25T16:27:13.8192876Z For more information about an error, try `rustc --explain E0423`.
2019-10-25T16:27:13.8193082Z Couldn't compile the test.
2019-10-25T16:27:13.8193318Z ---- debuginfo/doc.rs - debuginfo::doc (line 67) stdout ----
2019-10-25T16:27:13.8193388Z error: expected one of `.`, `;`, `?`, `}`, or an operator, found `describe`
2019-10-25T16:27:13.8193597Z  --> debuginfo/doc.rs:69:3
2019-10-25T16:27:13.8193640Z   |
2019-10-25T16:27:13.8193698Z 3 | describe(t = List)
2019-10-25T16:27:13.8193954Z   |                   - expected one of `.`, `;`, `?`, `}`, or an operator here
2019-10-25T16:27:13.8194005Z 4 |   describe(t = i32)
2019-10-25T16:27:13.8194105Z 
2019-10-25T16:27:13.8194148Z error: aborting due to previous error
2019-10-25T16:27:13.8194185Z 
2019-10-25T16:27:13.8194389Z Couldn't compile the test.
2019-10-25T16:27:13.8194389Z Couldn't compile the test.
2019-10-25T16:27:13.8194596Z 
2019-10-25T16:27:13.8194638Z failures:
2019-10-25T16:27:13.8195007Z     back/bytecode.rs - back::bytecode (line 13)
2019-10-25T16:27:13.8195226Z     back/lto.rs - back::lto::thin_lto (line 370)
2019-10-25T16:27:13.8195430Z     debuginfo/doc.rs - debuginfo::doc (line 149)
2019-10-25T16:27:13.8195631Z     debuginfo/doc.rs - debuginfo::doc (line 31)
2019-10-25T16:27:13.8195831Z     debuginfo/doc.rs - debuginfo::doc (line 67)
2019-10-25T16:27:13.8195916Z test result: FAILED. 1 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out
2019-10-25T16:27:13.8195946Z 
2019-10-25T16:27:13.8238562Z error: test failed, to rerun pass '--doc'
2019-10-25T16:27:13.8255938Z 
2019-10-25T16:27:13.8255938Z 
2019-10-25T16:27:13.8256193Z 
2019-10-25T16:27:13.8256940Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "-Zconfig-profile" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" " llvm" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "-p" "rustc_codegen_llvm" "--" "--quiet"
2019-10-25T16:27:13.8257092Z 
2019-10-25T16:27:13.8257121Z 
2019-10-25T16:27:13.8265273Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-10-25T16:27:13.8265372Z Build completed unsuccessfully in 1:25:40
2019-10-25T16:27:13.8265372Z Build completed unsuccessfully in 1:25:40
2019-10-25T16:27:13.8316681Z == clock drift check ==
2019-10-25T16:27:13.8332764Z   local time: Fri Oct 25 16:27:13 UTC 2019
2019-10-25T16:27:13.9780311Z   network time: Fri, 25 Oct 2019 16:27:13 GMT
2019-10-25T16:27:13.9784417Z == end clock drift check ==
2019-10-25T16:27:14.6076910Z 
2019-10-25T16:27:14.6203574Z ##[error]Bash exited with code '1'.
2019-10-25T16:27:14.6249343Z ##[section]Starting: Checkout
2019-10-25T16:27:14.6250983Z ==============================================================================
2019-10-25T16:27:14.6251226Z Task         : Get sources
2019-10-25T16:27:14.6251265Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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 @TimNN. (Feature Requests)

@@ -131,6 +131,7 @@ const WHITELIST: &[Crate<'_>] = &[
Crate("polonius-engine"),
Crate("ppv-lite86"),
Crate("proc-macro2"),
Crate("punycode"),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this now needed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We didn't check it before? It's presumably only depended on by librustc_codegen_lvm

@@ -272,7 +270,7 @@ pub fn get_codegen_backend(sess: &Session) -> Box<dyn CodegenBackend> {
filename if filename.contains(".") => {
load_backend_from_dylib(filename.as_ref())
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe move this to get_builtin_codegen_backend and rename that function to get_codegen_backend, while renaming this function to get_codegen_backend_for_sess or even inline this function.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure I understand? What would the purpose of that movement be?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The purpose of that change is that the version which doesn't take a Session as input will accept /path/to/backend.so. I am fine with keeping it the way it is right now.

@@ -379,9 +379,6 @@
# and currently the only standard option supported is `"llvm"`
#codegen-backends = ["llvm"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm, this one still works? Or do I need to use llvm.enabled instead?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would also be nice if this would automatically pass a feature flag for every item, even unknown ones, so adding a codegen backend is as easy as adding a few crate features, adding optional deps, and changing rustc_interface to recognize the -Zcodegen-backend value for it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be the case that setting this to the empty array should work. I'll leave it to future PRs though to continue to tweak how multiple codegen backends work.

@@ -501,6 +501,9 @@ impl Build {
if self.config.jemalloc {
features.push_str("jemalloc");
}
if self.config.llvm_enabled() {
features.push_str(" llvm");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe rename to cg_llvm?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps? It's all internal anyway and can change at any time, I sort of prefer just llvm but feel free to send a PR after this if you feel differently.

@alexcrichton
Copy link
Member Author

@bors: r=Mark-Simulacrum

@bors
Copy link
Contributor

bors commented Oct 25, 2019

📌 Commit 7786647845faa968fa7e2d4dec131c2c4c8cec31 has been approved by Mark-Simulacrum

@rust-highfive
Copy link
Collaborator

The job mingw-check of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-10-25T19:29:23.8640216Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-10-25T19:29:23.8829976Z ##[command]git config gc.auto 0
2019-10-25T19:29:23.8902869Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-10-25T19:29:23.8963923Z ##[command]git config --get-all http.proxy
2019-10-25T19:29:23.9107894Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/65703/merge:refs/remotes/pull/65703/merge
---
2019-10-25T20:49:44.8044184Z configure: build.locked-deps    := True
2019-10-25T20:49:44.8044318Z configure: llvm.ccache          := sccache
2019-10-25T20:49:44.8044579Z configure: build.cargo-native-static := True
2019-10-25T20:49:44.8044873Z configure: dist.missing-tools   := True
2019-10-25T20:49:44.8045883Z configure: build.configure-args := ['--enable-sccache', '--disable-manage-submodu ...
2019-10-25T20:49:44.8046623Z configure: writing `config.toml` in current directory
2019-10-25T20:49:44.8046840Z configure: 
2019-10-25T20:49:44.8047279Z configure: run `python /checkout/x.py --help`
2019-10-25T20:49:44.8047483Z configure: 
---
2019-10-25T20:59:34.6222193Z -- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib/cmake/llvm/./DetermineGCCCompatible.cmake
2019-10-25T20:59:34.6222431Z -- Installing: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib/cmake/llvm/./FindSphinx.cmake
2019-10-25T20:59:34.6254732Z cargo:root=/checkout/obj/build/x86_64-unknown-linux-gnu/llvm
2019-10-25T20:59:34.6254804Z  finished in 460.653
2019-10-25T20:59:34.6266104Z running: "cmake" "/checkout/src/llvm-project/llvm" "-DCMAKE_SYSTEM_NAME=Windows" "-DCMAKE_RC_COMPILER=/usr/bin/i686-w64-mingw32-windres" "-DLLVM_ENABLE_ASSERTIONS=ON" "-DLLVM_TARGETS_TO_BUILD=AArch64;ARM;Hexagon;MSP430;Mips;NVPTX;PowerPC;RISCV;Sparc;SystemZ;WebAssembly;X86" "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=" "-DLLVM_INCLUDE_EXAMPLES=OFF" "-DLLVM_INCLUDE_TESTS=OFF" "-DLLVM_INCLUDE_DOCS=OFF" "-DLLVM_INCLUDE_BENCHMARKS=OFF" "-DLLVM_ENABLE_ZLIB=OFF" "-DWITH_POLLY=OFF" "-DLLVM_ENABLE_TERMINFO=OFF" "-DLLVM_ENABLE_LIBEDIT=OFF" "-DLLVM_ENABLE_BINDINGS=OFF" "-DLLVM_ENABLE_Z3_SOLVER=OFF" "-DLLVM_PARALLEL_COMPILE_JOBS=2" "-DLLVM_TARGET_ARCH=i686" "-DLLVM_DEFAULT_TARGET_TRIPLE=i686-pc-windows-gnu" "-DLLVM_BUILD_32_BITS=ON" "-DLLVM_ENABLE_LIBXML2=OFF" "-DCMAKE_CROSSCOMPILING=True" "-DLLVM_TABLEGEN=/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/bin/llvm-tblgen" "-DLLVM_NATIVE_BUILD=/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build" "-DLLVM_VERSION_SUFFIX=-rust-1.40.0-dev" "-DPYTHON_EXECUTABLE=/usr/bin/python2.7" "-DCMAKE_INSTALL_MESSAGE=LAZY" "-DCMAKE_C_COMPILER_LAUNCHER=sccache" "-DCMAKE_CXX_COMPILER_LAUNCHER=sccache" "-DCMAKE_C_COMPILER=i686-w64-mingw32-gcc" "-DCMAKE_CXX_COMPILER=i686-w64-mingw32-g++" "-DCMAKE_C_FLAGS=-ffunction-sections -fdata-sections -m32 -fno-omit-frame-pointer" "-DCMAKE_CXX_FLAGS=-ffunction-sections -fdata-sections -m32 -fno-omit-frame-pointer" "-DCMAKE_INSTALL_PREFIX=/checkout/obj/build/i686-pc-windows-gnu/llvm" "-DCMAKE_BUILD_TYPE=Release"
2019-10-25T20:59:34.9288073Z -- The CXX compiler identification is GNU 5.3.1
2019-10-25T20:59:34.9305311Z -- The ASM compiler identification is GNU
2019-10-25T20:59:34.9309418Z -- Found assembler: /usr/bin/i686-w64-mingw32-gcc
2019-10-25T20:59:34.9394901Z -- Check for working C compiler: /usr/bin/i686-w64-mingw32-gcc
---
2019-10-25T21:00:50.4429117Z [  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DJB.cpp.obj
2019-10-25T21:00:51.4875298Z [  1%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeEmitterGen.cpp.obj
2019-10-25T21:00:51.7607395Z [  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Error.cpp.obj
2019-10-25T21:00:53.8782530Z [  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.obj
2019-10-25T21:00:55.3442407Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:59:13: error: 'mutex' in namespace 'std' does not name a type
2019-10-25T21:00:55.3442579Z  static std::mutex ErrorHandlerMutex;
2019-10-25T21:00:55.3442632Z              ^
2019-10-25T21:00:55.3443006Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:60:13: error: 'mutex' in namespace 'std' does not name a type
2019-10-25T21:00:55.3443084Z  static std::mutex BadAllocErrorHandlerMutex;
2019-10-25T21:00:55.3443131Z              ^
2019-10-25T21:00:55.3443465Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::install_fatal_error_handler(llvm::fatal_error_handler_t, void*)':
2019-10-25T21:00:55.3444088Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:66:19: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3444142Z    std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3444196Z                    ^
2019-10-25T21:00:55.3444465Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:66:19: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3444719Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:66:29: error: template argument 1 is invalid
2019-10-25T21:00:55.3444769Z    std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3444834Z                              ^
2019-10-25T21:00:55.3445107Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:66:36: error: 'ErrorHandlerMutex' was not declared in this scope
2019-10-25T21:00:55.3445160Z    std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3445480Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:66:31: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3445480Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:66:31: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3445531Z    std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3446073Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::remove_fatal_error_handler()':
2019-10-25T21:00:55.3446073Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::remove_fatal_error_handler()':
2019-10-25T21:00:55.3446328Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:75:19: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3446393Z    std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3446525Z                    ^
2019-10-25T21:00:55.3446805Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:75:19: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3447075Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:75:29: error: template argument 1 is invalid
2019-10-25T21:00:55.3447206Z    std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3447249Z                              ^
2019-10-25T21:00:55.3447540Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:75:36: error: 'ErrorHandlerMutex' was not declared in this scope
2019-10-25T21:00:55.3447601Z    std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3447922Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:75:31: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3447922Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:75:31: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3447973Z    std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3448021Z                                ^
2019-10-25T21:00:55.3448309Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::report_fatal_error(const llvm::Twine&, bool)':
2019-10-25T21:00:55.3448565Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:100:21: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3448616Z      std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3448674Z                      ^
2019-10-25T21:00:55.3448924Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:100:21: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3449186Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:100:31: error: template argument 1 is invalid
2019-10-25T21:00:55.3449254Z      std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3449295Z                                ^
2019-10-25T21:00:55.3449569Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:100:38: error: 'ErrorHandlerMutex' was not declared in this scope
2019-10-25T21:00:55.3449639Z      std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3455712Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:100:33: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3455712Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:100:33: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3459622Z      std::lock_guard<std::mutex> Lock(ErrorHandlerMutex);
2019-10-25T21:00:55.3459679Z                                  ^
2019-10-25T21:00:55.3466187Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::install_bad_alloc_error_handler(llvm::fatal_error_handler_t, void*)':
2019-10-25T21:00:55.3466505Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:131:19: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3466563Z    std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3470449Z                    ^
2019-10-25T21:00:55.3471290Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:131:19: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3485841Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:131:29: error: template argument 1 is invalid
2019-10-25T21:00:55.3485915Z    std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3485961Z                              ^
2019-10-25T21:00:55.3486279Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:131:36: error: 'BadAllocErrorHandlerMutex' was not declared in this scope
2019-10-25T21:00:55.3486508Z    std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3486880Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:131:31: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3486880Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:131:31: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3486934Z    std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3487330Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::remove_bad_alloc_error_handler()':
2019-10-25T21:00:55.3487330Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::remove_bad_alloc_error_handler()':
2019-10-25T21:00:55.3487618Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:140:19: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3487687Z    std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3487730Z                    ^
2019-10-25T21:00:55.3487981Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:140:19: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3488264Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:140:29: error: template argument 1 is invalid
2019-10-25T21:00:55.3488316Z    std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3488359Z                              ^
2019-10-25T21:00:55.3488651Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:140:36: error: 'BadAllocErrorHandlerMutex' was not declared in this scope
2019-10-25T21:00:55.3488712Z    std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3489034Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:140:31: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3489034Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:140:31: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3489086Z    std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3489412Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::report_bad_alloc_error(const char*, bool)':
2019-10-25T21:00:55.3489412Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp: In function 'void llvm::report_bad_alloc_error(const char*, bool)':
2019-10-25T21:00:55.3489679Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:153:21: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3490194Z      std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3490259Z                      ^
2019-10-25T21:00:55.3490589Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:153:21: error: 'mutex' is not a member of 'std'
2019-10-25T21:00:55.3490876Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:153:31: error: template argument 1 is invalid
2019-10-25T21:00:55.3490950Z      std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3490998Z                                ^
2019-10-25T21:00:55.3491305Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:153:38: error: 'BadAllocErrorHandlerMutex' was not declared in this scope
2019-10-25T21:00:55.3491379Z      std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3491727Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:153:33: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3491727Z /checkout/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:153:33: warning: unused variable 'Lock' [-Wunused-variable]
2019-10-25T21:00:55.3491800Z      std::lock_guard<std::mutex> Lock(BadAllocErrorHandlerMutex);
2019-10-25T21:00:55.3491848Z                                  ^
2019-10-25T21:00:55.3511765Z lib/Support/CMakeFiles/LLVMSupport.dir/build.make:938: recipe for target 'lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.obj' failed
2019-10-25T21:00:55.3511884Z make[2]: *** [lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.obj] Error 1
2019-10-25T21:00:55.3512191Z CMakeFiles/Makefile2:963: recipe for target 'lib/Support/CMakeFiles/LLVMSupport.dir/all' failed
2019-10-25T21:00:55.3512249Z make[1]: *** [lib/Support/CMakeFiles/LLVMSupport.dir/all] Error 2
2019-10-25T21:00:55.3512317Z make[1]: *** Waiting for unfinished jobs....
2019-10-25T21:00:56.2289054Z [  1%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeGenHwModes.cpp.obj
2019-10-25T21:00:58.8009690Z [  1%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeGenInstruction.cpp.obj
2019-10-25T21:01:03.5748728Z [  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeGenMapTable.cpp.obj
2019-10-25T21:01:07.8405583Z [  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeGenRegisters.cpp.obj
---
2019-10-25T21:02:30.3724342Z [  3%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/X86RecognizableInstr.cpp.obj
2019-10-25T21:02:31.7562947Z [  3%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/WebAssemblyDisassemblerEmitter.cpp.obj
2019-10-25T21:02:33.4047235Z [  3%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CTagsEmitter.cpp.obj
2019-10-25T21:02:35.5676712Z [  3%] Built target obj.llvm-tblgen
2019-10-25T21:02:35.5688245Z Makefile:149: recipe for target 'all' failed
2019-10-25T21:02:35.5688440Z make: *** [all] Error 2
2019-10-25T21:02:35.5708066Z command did not execute successfully, got: exit code: 2
2019-10-25T21:02:35.5708102Z 
2019-10-25T21:02:35.5708102Z 
2019-10-25T21:02:35.5708439Z build script failed, must exit now', /cargo/registry/src/github.mirror.nvdadr.com-1ecc6299db9ec823/cmake-0.1.38/src/lib.rs:813:5
2019-10-25T21:02:35.5712082Z  finished in 641.599
2019-10-25T21:02:35.5730711Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap check --target=i686-pc-windows-gnu --host=i686-pc-windows-gnu
2019-10-25T21:02:35.5730816Z Build completed unsuccessfully in 0:11:12
2019-10-25T21:02:35.5779944Z == clock drift check ==
2019-10-25T21:02:35.5779944Z == clock drift check ==
2019-10-25T21:02:35.5799154Z   local time: Fri Oct 25 21:02:35 UTC 2019
2019-10-25T21:02:35.8562371Z   network time: Fri, 25 Oct 2019 21:02:35 GMT
2019-10-25T21:02:35.8562599Z == end clock drift check ==
2019-10-25T21:02:36.4544078Z 
2019-10-25T21:02:36.4647276Z ##[error]Bash exited with code '1'.
2019-10-25T21:02:36.4681923Z ##[section]Starting: Checkout
2019-10-25T21:02:36.4684199Z ==============================================================================
2019-10-25T21:02:36.4684408Z Task         : Get sources
2019-10-25T21:02:36.4684456Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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 @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Oct 26, 2019

⌛ Testing commit 7786647845faa968fa7e2d4dec131c2c4c8cec31 with merge a14b9ca89b008c74000ba5f31f91e27025095808...

@alexcrichton
Copy link
Member Author

@bors: r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 7, 2019
@JohnCSimon
Copy link
Member

JohnCSimon commented Nov 16, 2019

Ping from triage
@alexcrichton This PR has sat idle for a week.
Thanks!

@alexcrichton
Copy link
Member Author

Sorry for the delay, I haven't forgotten about this, just been busy. I've got some builds going in the background to help debug the failure here.

@alexcrichton
Copy link
Member Author

@bors: r=Mark-Simulacrum

Ok I updated the test and confirmed that it doesn't actually result in any more build time.

@bors
Copy link
Contributor

bors commented Nov 20, 2019

📌 Commit e7f4fb3 has been approved by Mark-Simulacrum

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Nov 20, 2019
@bors
Copy link
Contributor

bors commented Nov 20, 2019

⌛ Testing commit e7f4fb3 with merge c979d3f0999329d39d30213f961d7fec9dd09498...

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-linux of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-11-20T18:46:24.3036638Z    Compiling rustdoc v0.0.0 (/checkout/src/librustdoc)
2019-11-20T18:46:25.2250182Z [RUSTC-TIMING] rustc_rayon test:false 3.808
2019-11-20T18:47:58.4708163Z [RUSTC-TIMING] rustdoc test:false 94.164
2019-11-20T18:47:58.4761283Z    Compiling rustdoc-tool v0.0.0 (/checkout/src/tools/rustdoc)
2019-11-20T18:47:58.7933934Z error: linking with `clang` failed: exit code: 1
2019-11-20T18:47:58.7935305Z   |
2019-11-20T18:47:58.7946292Z   = note: "clang" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/rustdoc_tool_binary-160561ddbd61df4a.rustdoc_tool_binary.6s02hscj-cgu.0.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/rustdoc_tool_binary-160561ddbd61df4a.rustdoc_tool_binary.6s02hscj-cgu.1.rcgu.o" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/rustdoc_tool_binary-160561ddbd61df4a" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/librustdoc-ac9d7822fe2b76fc.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/librustc_rayon-7e3943ef192c37ef.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/librustc_rayon_core-65ad84efdadadf6a.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libnum_cpus-4b54eb7a8f3f83ce.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libcrossbeam_queue-14d444c204f9fbd9.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libeither-1655dbeb6e62aa6d.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libcrossbeam_deque-821335de0517e714.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libcrossbeam_epoch-8ebccd476941cdfc.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libscopeguard-7d54bfb17498e4e6.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libmemoffset-20acb2bfa685e3ba.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libcrossbeam_utils-359bd1eea1de58a3.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libarrayvec-aaafccd3d546b5a9.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libnodrop-1389e34d7d2a0d03.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libtempfile-a080c4fc095eae8d.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/librand-37fd62c677067001.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/librand_chacha-0a30ea8351a7ae3a.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libc2_chacha-10ad836a12485dde.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libppv_lite86-2c0f0dfa10aa2267.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/liblazy_static-a7c46e9b0576ffbf.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/librand_core-194e51fedc8f5342.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libgetrandom-e9fc3c0a4f51b2b1.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/liblibc-32c03d01f2b24ddc.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libremove_dir_all-35e80912bea784bf.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libcfg_if-ace2aa463ecabc97.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libminifier-0d6d1d040d31f091.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libmacro_utils-3745ed3786f2ba72.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libpulldown_cmark-668afe0a0c3dab2d.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libmemchr-6059bde70569626b.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libunicase-aae51b33df65e59e.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libbitflags-b836077f9f611e64.rlib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bdynamic" "-lrustc_driver-15ad8a3d5e633b6c" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-ltest-452a4c53665567a2" "-Wl,--start-group" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lstd-16200cf384764ff2" "-Wl,--end-group" "-Wl,-Bstatic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-0b4afa0039f92915.rlib" "-Wl,-Bdynamic" "-lutil" "-lutil" "-lLLVM-9-rust-1.41.0-nightly" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" "-Wl,-rpath,$ORIGIN/../lib"
2019-11-20T18:47:58.7949905Z   = note: /rustroot/bin/ld: cannot find -lLLVM-9-rust-1.41.0-nightly
2019-11-20T18:47:58.7950514Z           clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
2019-11-20T18:47:58.7950855Z 
2019-11-20T18:47:58.7995647Z error: aborting due to previous error
2019-11-20T18:47:58.7995952Z 
2019-11-20T18:47:58.8048287Z [RUSTC-TIMING] rustdoc_tool_binary test:false 0.325
---
2019-11-20T18:47:58.8221193Z   local time: Wed Nov 20 18:47:58 UTC 2019
2019-11-20T18:47:59.2586508Z   network time: Wed, 20 Nov 2019 18:47:59 GMT
2019-11-20T18:47:59.2590472Z == end clock drift check ==
2019-11-20T18:48:00.2680126Z 
2019-11-20T18:48:00.2777092Z ##[error]Bash exited with code '1'.
2019-11-20T18:48:00.2816455Z ##[section]Starting: Checkout
2019-11-20T18:48:00.2818304Z ==============================================================================
2019-11-20T18:48:00.2818404Z Task         : Get sources
2019-11-20T18:48:00.2818506Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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 @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Nov 20, 2019

💔 Test failed - checks-azure

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 20, 2019
@bors
Copy link
Contributor

bors commented Nov 22, 2019

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

@Mark-Simulacrum Mark-Simulacrum added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 27, 2019
@JohnCSimon
Copy link
Member

Ping from triage:
@alexcrichton can you please address the merge conflicts in this pr?
Thank you.

@alexcrichton
Copy link
Member Author

Unfortunately I don't think I have the time to work through this, so I'm going to close it.

@Aaron1011
Copy link
Member

@alexcrichton: I'd be interested in working on finishing up this PR

@alexcrichton
Copy link
Member Author

Sure thing, please feel free to do so!

bors added a commit that referenced this pull request Dec 6, 2019
rustc: Link LLVM directly into rustc again (take two)

This is a continuation of PR #65703
bors added a commit that referenced this pull request Dec 13, 2019
rustc: Link LLVM directly into rustc again (take two)

This is a continuation of PR #65703
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants