Skip to content

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
Contributor

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

@rust-highfive
Copy link
Contributor

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
Contributor

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
Collaborator

bors commented Oct 22, 2019

📌 Commit 6bbede35569584aef12cfde9cb9093cc21483c0b has been approved by Mark-Simulacrum

@bors
Copy link
Collaborator

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
Collaborator

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
Collaborator

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
Contributor

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)

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

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.

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.

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
Collaborator

bors commented Oct 25, 2019

📌 Commit 7786647845faa968fa7e2d4dec131c2c4c8cec31 has been approved by Mark-Simulacrum

@rust-highfive
Copy link
Contributor

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.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
Collaborator

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
Collaborator

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
Collaborator

bors commented Nov 20, 2019

⌛ Testing commit e7f4fb3 with merge c979d3f0999329d39d30213f961d7fec9dd09498...

@rust-highfive
Copy link
Contributor

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
Collaborator

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
Collaborator

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
Contributor

@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.

9 participants