Uh oh!
There was an error while loading. Please reload this page.
rustbuild: Support specifying archiver and linker explicitly - #45191
Conversation
Mark-Simulacrum
left a comment
There was a problem hiding this comment.
r=me pending review of the base PR, at least in terms of logic seeming sound. Not familiar enough with linkers and such to judge that part, but if it works, I'm happy with it.
There was a problem hiding this comment.
I'd prefer this logic to be in src/bin/rustdoc.rs and we can just set RUSTDOC_LINKER here.
There was a problem hiding this comment.
Hm, this could actually solve the issue with doctests as well if I understand correctly.
petrochenkov
commented
Oct 12, 2017
To give some background, I need to build Rust on a Linux server 1) using specific toolchain that is not in Without this patch my workaround looks roughly like this (in shell pseudocode): mkdir my_toolchain
ln -s actual_toolchain/gcc my_toolchain/cc
ln -s actual_toolchain/gar my_toolchain/ar
export PATH=my_toolchain:actual_toolchain:$PATH
./x.py buildEven ignoring |
bors
commented
Oct 13, 2017
☔ The latest upstream changes (presumably #45233) made this pull request unmergeable. Please resolve the merge conflicts. |
petrochenkov
commented
Oct 14, 2017
@bors r=Mark-Simulacrum |
bors
commented
Oct 14, 2017
📌 Commit 399ff29 has been approved by |
bors
commented
Oct 15, 2017
⌛ Testing commit 399ff290c65df4a0f0381436a67c18b17f456fbc with merge 05c72874fef283a9dd41b2337b3cbef0e74404d5... |
bors
commented
Oct 15, 2017
💔 Test failed - status-travis |
kennytm
commented
Oct 15, 2017
Failed to find the symbol Details |
bors
commented
Oct 15, 2017
☔ The latest upstream changes (presumably #45224) made this pull request unmergeable. Please resolve the merge conflicts. |
petrochenkov
commented
Oct 15, 2017
@bors r=Mark-Simulacrum |
bors
commented
Oct 15, 2017
📌 Commit 89d9ce4 has been approved by |
bors
commented
Oct 15, 2017
⌛ Testing commit 89d9ce4 with merge c09beac4654260fd53eb18db449229e7bb9c8385... |
bors
commented
Oct 15, 2017
💔 Test failed - status-travis |
petrochenkov
commented
Oct 16, 2017
Oops, that was silly. |
bors
commented
Oct 16, 2017
📌 Commit 0577b60 has been approved by |
bors
commented
Oct 16, 2017
rustbuild: Support specifying archiver and linker explicitly With this patch `x.py test` passes without toolchain being in `PATH` if `cc`, `cxx`, `ar`, `linker` and `gdb` are specified in `config.toml` (except for a few `run-make` tests using `nm`). Fixes#41821 r? @Mark-Simulacrum
bors
commented
Oct 16, 2017
☀️ Test successful - status-appveyor, status-travis |
Fix compilation after rust-lang/rust#45191
I believe this was forgotten from rust-lang#45191 but hopefully is a simple fix!
I believe this was forgotten from rust-lang#45191 but hopefully is a simple fix!
rustbuild: Build tests with LLD if `use-lld = true` was passed Addresses rust-lang#76127 (comment). Our test suite is generally ready to run with an explicitly specified linker (rust-lang#45191), so LLD specified with `use-lld = true` works as well. Only 4 tests fail (on `x86_64-pc-windows-msvc`): ``` ui/panic-runtime/lto-unwind.rs run-make-fulldeps/debug-assertions run-make-fulldeps/foreign-exceptions run-make-fulldeps/test-harness ``` All of them are legitimate issues with LLD (or at least with combination Rust+LLD) and manifest in segfaults on access to TLS (rust-lang#76127 (comment)). UPD: These issues are caused by rust-lang#72145 and appear because I had `-Ctarget-cpu=native` set. UPD: Further commits build tests with LLD for non-MSVC targets and propagate LLD to more places when `use-lld` is enabled.
With this patch
x.py testpasses without toolchain being inPATHifcc,cxx,ar,linkerandgdbare specified inconfig.toml(except for a fewrun-maketests usingnm).Fixes#41821
r? @Mark-Simulacrum