-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
ignore llvm::Lld
if lld is not enabled
#126701
Conversation
People are having trouble when they don't want to build `lld` for their custom distribution tarballs even with `lld = false` in their config.toml. This is because it is not controlled by `lld_enabled` flag. This change ensures that `llvm:Lld` is controlled by lld configuration. Signed-off-by: onur-ozkan <work@onurozkan.dev>
r? @clubby789 rustbot has assigned @clubby789. Use |
This PR modifies If appropriate, please update |
|
This comment has been minimized.
This comment has been minimized.
4379d3c
to
7aec1b0
Compare
This comment has been minimized.
This comment has been minimized.
7aec1b0
to
bfca652
Compare
r? @Kobzol |
This is a good cleanup, it should be possible to turn packaging of @bors try |
…try> ignore `llvm::Lld` if lld is not enabled People are having trouble ([ref. zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/MSVC.20Runtime.20mismatch.20when.20building.20LLD)) when they don't want to build `lld` for their custom distribution tarballs even with `lld = false` in their config.toml. This is because it is not controlled by `lld_enabled` flag. This change ensures that `llvm:Lld` is controlled by lld configuration. Additionally, `lld = true` is set by default for dist profile, because we have been building it all along and this maintains that behavior.
☀️ Try build successful - checks-actions |
Good, One more thing, maybe we should add an entry to config tracker? Maybe some people who do their own |
b78b5ff
to
6b5efe9
Compare
6b5efe9
to
b1b473e
Compare
Thanks! @bors r+ |
…=Kobzol ignore `llvm::Lld` if lld is not enabled People are having trouble ([ref. zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/MSVC.20Runtime.20mismatch.20when.20building.20LLD)) when they don't want to build `lld` for their custom distribution tarballs even with `lld = false` in their config.toml. This is because it is not controlled by `lld_enabled` flag. This change ensures that `llvm:Lld` is controlled by lld configuration. Additionally, `lld = true` is set by default for dist profile, because we have been building it all along and this maintains that behavior.
Ah so likely yet another case of rust-lld was only enabled on some dist builders and no test builder. Probably something like that directive yes, or maybe even more precise à la x86_64-pc-windows-msvc, as IIUC there are a bunch of other msvc targets that may not have rust-lld support (or where it's distributed though I guess needs-rust-lld will take care of that). But I know nothing about windows and this may need the eyes of e.g. Chris Denton. That is, if the test actually still passes and hasn't regressed since it was written :/ Maybe you can try it on x64 msvc and it it fails ping Chris the expert? |
The test has succeeded on |
great then |
Signed-off-by: onur-ozkan <work@onurozkan.dev>
…try> ignore `llvm::Lld` if lld is not enabled People are having trouble ([ref. zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/MSVC.20Runtime.20mismatch.20when.20building.20LLD)) when they don't want to build `lld` for their custom distribution tarballs even with `lld = false` in their config.toml. This is because it is not controlled by `lld_enabled` flag. This change ensures that `llvm:Lld` is controlled by lld configuration. Additionally, `lld = true` is set by default for dist profile, because we have been building it all along and this maintains that behavior. try-job: x86_64-mingw
☀️ Try build successful - checks-actions |
@bors r+ rollup=never |
@bors r=Kobzol |
💡 This pull request was already approved, no need to approve it again.
|
oops, didn't see that |
☀️ Test successful - checks-actions |
Finished benchmarking commit (e9e6e2e): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)Results (primary -3.1%, secondary -5.2%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 696.756s -> 694.621s (-0.31%) |
Add a run-make test that LLD is not being used by default on the x64 beta/stable channel rust-lang#126701 showed that the handling of `lld` in bootstrap is currently not ideal. While it would be nice to refactor it eventually, we should also make sure that we have a test that checks that `lld` is not used (yet!) by default on the x64 Linux stable channel. CC `@lqd` r? `@onur-ozkan`
Add a run-make test that LLD is not being used by default on the x64 beta/stable channel rust-lang#126701 showed that the handling of `lld` in bootstrap is currently not ideal. While it would be nice to refactor it eventually, we should also make sure that we have a test that checks that `lld` is not used (yet!) by default on the x64 Linux stable channel. CC ``@lqd`` r? ``@onur-ozkan``
Rollup merge of rust-lang#127081 - Kobzol:lld-test, r=onur-ozkan Add a run-make test that LLD is not being used by default on the x64 beta/stable channel rust-lang#126701 showed that the handling of `lld` in bootstrap is currently not ideal. While it would be nice to refactor it eventually, we should also make sure that we have a test that checks that `lld` is not used (yet!) by default on the x64 Linux stable channel. CC ``@lqd`` r? ``@onur-ozkan``
Here are all the changes. I went through them one-by-one and confirmed that they should not be affecting us. In paritcular, we explicitly set rust.lld = false (because we want to use the lld that ships with clang), so the change in default does not affect us. There have been changes to x.py since you last updated: [INFO] New option `build.lldb` that will override the default lldb binary path used in debuginfo tests - PR Link rust-lang/rust#124501 [INFO] The compiler profile now defaults to rust.debuginfo-level = "line-tables-only" - PR Link rust-lang/rust#123337 [WARNING] `rust.lld` has a new default value of `true` on `x86_64-unknown-linux-gnu`. Starting at stage1, `rust-lld` will thus be this target's default linker. No config changes should be necessary. - PR Link rust-lang/rust#124129 [WARNING] Removed `dist.missing-tools` configuration as it was deprecated long time ago. - PR Link rust-lang/rust#125535 [WARNING] `llvm.lld` is enabled by default for the dist profile. If set to false, `lld` will not be included in the dist build. - PR Link rust-lang/rust#126701 [WARNING] `debug-logging` option has been removed from the default `tools` profile. - PR Link rust-lang/rust#127913 [INFO] the `wasm-component-ld` tool is now built as part of `build.extended` and can be a member of `build.tools` - PR Link rust-lang/rust#127866 [INFO] Removed android-ndk r25b support in favor of android-ndk r26d. - PR Link rust-lang/rust#120593 [WARNING] For tarball sources, default value for `rust.channel` will be taken from `src/ci/channel` file. - PR Link rust-lang/rust#125181 [INFO] New option `llvm.libzstd` to control whether llvm is built with zstd support. - PR Link rust-lang/rust#125642 [WARNING] ./x test --rustc-args was renamed to --compiletest-rustc-args as it only applies there. ./x miri --rustc-args was also removed. - PR Link rust-lang/rust#128841 [INFO] The `build.profiler` option now tries to use source code from `download-ci-llvm` if possible, instead of checking out the `src/llvm-project` submodule. - PR Link rust-lang/rust#129295 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1120078 Original-Revision: 27df37a30e50b14b9ffefc872b6997790f03d4ea GitOrigin-RevId: 341e222f002e36886b9960645b21faeaed633f90 Change-Id: Id1eb54a677a6f538bf7666d65b85d5fdba17ea42
People are having trouble (ref. zulip thread) when they don't want to build
lld
for their custom distribution tarballs even withlld = false
in their config.toml. This is because it is not controlled bylld_enabled
flag. This change ensures thatllvm:Lld
is controlled by lld configuration.Additionally,
lld = true
is set by default for dist profile, because we have been building it all along and this maintains that behavior.try-job: x86_64-mingw