-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Remove libtest's dylib #119475
Remove libtest's dylib #119475
Conversation
r? @thomcc (rustbot has picked a reviewer for you, use r? to override) |
cc @rust-lang/bootstrap @rust-lang/rustdoc I figure if this breaks anything it'll be one of you? |
This is fine by me if it doesn't break anything, although IDK that I'm the right person to evaluate that. |
I don't see a case where rustdoc actually uses the dynamic lib. Maybe someone else from the team might be aware of such a case? |
@bors try We can check, but my guess is that this either makes libtest statically linked into rustdoc's binary or breaks that binary:
If rustdoc is the only binary we ship that uses libtest then this seems OK to statically link (more efficient, likely smaller on disk due to better dead code removal). But otherwise we probably want to keep it dynamically linked to reduce bandwidth/space use. |
Remove libtest's dylib libtest.so is only used by rustdoc, so Tests seem to pass locally with this change. I suppose if this is broken, the only way to find out is to make a PR.
I started looking into this because the only binary I could find that's linked to libtest.so is rustdoc. |
We should currently also be using libtest as dylib if another dependency is only available as dylib (which forces |
☀️ Try build successful - checks-actions |
Let's do it! (and it's trivial to revert if we're wrong...) @bors r+ |
…uviper Remove libtest's dylib libtest.so is only used by rustdoc, and tests seem to pass locally with this change. I suppose if this is broken, the only way to find out is to make a PR.
…iaskrgr Rollup of 10 pull requests Successful merges: - rust-lang#117636 (add test for rust-lang#117626) - rust-lang#118704 (Promote `riscv32{im|imafc}` targets to tier 2) - rust-lang#119184 (Switch from using `//~ERROR` annotations with `--error-format` to `error-pattern`) - rust-lang#119325 (custom mir: make it clear what the return block is) - rust-lang#119391 (Use Result::flatten in catch_with_exit_code) - rust-lang#119431 (Support reg_addr register class in s390x inline assembly) - rust-lang#119475 (Remove libtest's dylib) - rust-lang#119532 (Make offset_of field parsing use metavariable which handles any spacing) - rust-lang#119553 (stop feed vis when cant access for trait item) - rust-lang#119556 (Reland optimized-compiler-builtins config) r? `@ghost` `@rustbot` modify labels: rollup
…iaskrgr Rollup of 10 pull requests Successful merges: - rust-lang#117636 (add test for rust-lang#117626) - rust-lang#118704 (Promote `riscv32{im|imafc}` targets to tier 2) - rust-lang#119184 (Switch from using `//~ERROR` annotations with `--error-format` to `error-pattern`) - rust-lang#119325 (custom mir: make it clear what the return block is) - rust-lang#119391 (Use Result::flatten in catch_with_exit_code) - rust-lang#119431 (Support reg_addr register class in s390x inline assembly) - rust-lang#119475 (Remove libtest's dylib) - rust-lang#119532 (Make offset_of field parsing use metavariable which handles any spacing) - rust-lang#119553 (stop feed vis when cant access for trait item) - rust-lang#119574 (Miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#119475 - saethlin:remove-libtest-dylib, r=cuviper Remove libtest's dylib libtest.so is only used by rustdoc, and tests seem to pass locally with this change. I suppose if this is broken, the only way to find out is to make a PR.
Hi!! 👋 This broke my project (Fuchsia), because we expect libtest to exist in toolchain builds and dynamically link to it for tests. I suppose we could decide to stop doing that, but it could have performance implications on our testing. What's the motivation for removing it? |
Removing it decreases the size of the distribution that everyone downloads every time they install/upgrade a Rust toolchain with rustup. |
Sure, makes sense. I'll tell you if we notice any regressions. I think ideally this would be a per-target option or something. |
It would be great if you're able to provide any measurements on that! |
The fact that |
libtest.so is only used by rustdoc, and tests seem to pass locally with this change. I suppose if this is broken, the only way to find out is to make a PR.