Shorten linker output even more when --verbose is not present by jyn514 · Pull Request #135707 · rust-lang/rust (original) (raw)
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 andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation40 Commits1 Checks6 Files changed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
- Don't show environment variables. Seeing PATH is almost never useful, and it can be extremely long.
- For .rlibs in the sysroot, replace crate hashes with a
"-*"string. This will expand to the full crate name when pasted into the shell. - Move
.rlibto outside the glob. - Abbreviate the sysroot path to
<sysroot>wherever it appears in the arguments.
This also adds an example of the linker output as a run-make test. Currently it only runs on x86_64-unknown-linux-gnu, because each platform has its own linker arguments. So that it's stable across machines, pass BUILD_ROOT as an argument through compiletest through to run-make tests.
r? @bjorn3
try-job: aarch64-apple
rustbot added A-compiletest
Area: The compiletest test runner
Area: port run-make Makefiles to rmake.rs
Area: The testsuite used to check the correctness of rustc
Status: Awaiting review from the assignee but also interested parties.
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Relevant to the compiler team, which will review and decide on the PR/issue.
labels
This PR modifies tests/run-make/. If this PR is trying to port a Makefile
run-make test to use rmake.rs, please update the
run-make port tracking issue
so we can track our progress. You can either modify the tracking issue
directly, or you can comment on the tracking issue and link this PR.
cc @jieyouxu
Some changes occurred in src/tools/compiletest
cc @jieyouxu
The run-make-support library was changed
cc @jieyouxu
These commits modify the Cargo.lock file. Unintentional changes to Cargo.lock can be introduced when switching branches and rebasing PRs.
If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.
For comparison, this is what the error looked like before
This comment has been minimized.
This comment has been minimized.
The list of allowed third-party dependencies may have been modified! You must ensure that any new dependencies have compatible licenses before merging.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This is ready for review.
bors added a commit to rust-lang-ci/rust that referenced this pull request
Rollup of 6 pull requests
Successful merges:
- rust-lang#130808 (Fix linking for symbols starting with ? on i686-pc-windows-msvc)
- rust-lang#133154 (Reword resolve errors caused by likely missing crate in dep tree)
- rust-lang#135707 (Shorten linker output even more when
--verboseis not present) - rust-lang#135764 (Fix tests on LLVM 20)
- rust-lang#135785 (use
PassMode::Directfor vector types ons390x) - rust-lang#135818 (tests: Port
translationto rmake.rs)
r? @ghost
@rustbot modify labels: rollup
try-job: aarch64-apple try-job: i686-mingw try-job: x86_64-gnu-llvm-19-3
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
Shorten linker output even more when --verbose is not present
- Don't show environment variables. Seeing PATH is almost never useful, and it can be extremely long.
- For .rlibs in the sysroot, replace crate hashes with a
"-*"string. This will expand to the full crate name when pasted into the shell. - Move
.rlibto outside the glob. - Abbreviate the sysroot path to
<sysroot>wherever it appears in the arguments.
This also adds an example of the linker output as a run-make test. Currently it only runs on x86_64-unknown-linux-gnu, because each platform has its own linker arguments. So that it's stable across machines, pass BUILD_ROOT as an argument through compiletest through to run-make tests.
r? @bjorn3
try-job: aarch64-apple
bors added a commit to rust-lang-ci/rust that referenced this pull request
Rollup of 4 pull requests
Successful merges:
- rust-lang#135707 (Shorten linker output even more when
--verboseis not present) - rust-lang#135764 (Fix tests on LLVM 20)
- rust-lang#135785 (use
PassMode::Directfor vector types ons390x) - rust-lang#135818 (tests: Port
translationto rmake.rs)
r? @ghost
@rustbot modify labels: rollup
try-job: aarch64-apple try-job: i686-mingw try-job: x86_64-gnu-llvm-19-3
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
- Don't show environment variables. Seeing PATH is almost never useful, and it can be extremely long.
- For .rlibs in the sysroot, replace crate hashes with a
"-*"string. This will expand to the full crate name when pasted into the shell. - Move
.rlibto outside the glob. - Abbreviate the sysroot path to
<sysroot>wherever it appears in the arguments.
This also adds an example of the linker output as a run-make test. Currently it only runs on x86_64-unknown-linux-gnu, because each platform has its own linker arguments. So that it's stable across machines, pass BUILD_ROOT as an argument through compiletest through to run-make tests.
- Only use linker-flavor=gnu-cc if we're actually going to compare the output. It doesn't exist on MacOS.
@jyn514: 🔑 Insufficient privileges: Not in reviewers
📌 Commit c1b4ab0 has been approved by bjorn3
It is now in the queue for this repository.
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
Finished benchmarking commit (6fb0358): comparison URL.
Overall result: no relevant changes - no action needed
@rustbot label: -perf-regression
Instruction count
This benchmark run did not return any relevant results for this metric.
Max RSS (memory usage)
This benchmark run did not return any relevant results for this metric.
Cycles
Results (primary 2.2%, secondary -2.5%)
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.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) | 2.2% | [2.2%, 2.2%] | 1 |
| Regressions ❌ (secondary) | - | - | 0 |
| Improvements ✅ (primary) | - | - | 0 |
| Improvements ✅ (secondary) | -2.5% | [-2.5%, -2.5%] | 1 |
| All ❌✅ (primary) | 2.2% | [2.2%, 2.2%] | 1 |
Binary size
This benchmark run did not return any relevant results for this metric.
Bootstrap: 771.158s -> 771.759s (0.08%)
Artifact size: 325.82 MiB -> 325.83 MiB (0.00%)
jyn514 deleted the linker-messages-2 branch
ia0 mentioned this pull request
jieyouxu pushed a commit to jieyouxu/rust that referenced this pull request
This PR does 2 things:
It removes the braces when there's a single element. This is required since brace expansion (at least in bash and zsh) only triggers if there's at least 2 elements.
It removes the extra
.rlibsuffixes of the elements. See rust-lang#135707 (comment) for context.
Running cargo +stage1 build on the following program:
unsafe extern "C" {
fn foo() -> libc::c_int;
}
fn main() {
let x = unsafe { foo() } as u32;
// println!("{}", data_encoding::BASE64.encode(&x.to_le_bytes()));
}Gives the following diff before and after the PR:
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib}.rlib
+/tmp/foo/target/debug/deps/liblibc-faf416f178830595.rlibRunning on the same program with the additional dependency, we get the following diff:
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib,libdata_encoding-84bb5aadfa9e8839.rlib}.rlib
+/tmp/foo/target/debug/deps/{liblibc-faf416f178830595,libdata_encoding-84bb5aadfa9e8839}.rlibDo we want to add a UI test?
jieyouxu added a commit to jieyouxu/rust that referenced this pull request
Fix short linker error output
This PR does 2 things:
It removes the braces when there's a single element. This is required since brace expansion (at least in bash and zsh) only triggers if there's at least 2 elements.
It removes the extra
.rlibsuffixes of the elements. See rust-lang#135707 (comment) for context.
Running cargo +stage1 build on the following program:
unsafe extern "C" {
fn foo() -> libc::c_int;
}
fn main() {
let x = unsafe { foo() } as u32;
// println!("{}", data_encoding::BASE64.encode(&x.to_le_bytes()));
}Gives the following diff before and after the PR:
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib}.rlib
+/tmp/foo/target/debug/deps/liblibc-faf416f178830595.rlibRunning on the same program with the additional dependency, we get the following diff:
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib,libdata_encoding-84bb5aadfa9e8839.rlib}.rlib
+/tmp/foo/target/debug/deps/{liblibc-faf416f178830595,libdata_encoding-84bb5aadfa9e8839}.rlibrust-timer added a commit that referenced this pull request
Rollup merge of #143482 - ia0:fix, r=fee1-dead
Fix short linker error output
This PR does 2 things:
It removes the braces when there's a single element. This is required since brace expansion (at least in bash and zsh) only triggers if there's at least 2 elements.
It removes the extra
.rlibsuffixes of the elements. See #135707 (comment) for context.
Running cargo +stage1 build on the following program:
unsafe extern "C" {
fn foo() -> libc::c_int;
}
fn main() {
let x = unsafe { foo() } as u32;
// println!("{}", data_encoding::BASE64.encode(&x.to_le_bytes()));
}Gives the following diff before and after the PR:
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib}.rlib
+/tmp/foo/target/debug/deps/liblibc-faf416f178830595.rlibRunning on the same program with the additional dependency, we get the following diff:
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib,libdata_encoding-84bb5aadfa9e8839.rlib}.rlib
+/tmp/foo/target/debug/deps/{liblibc-faf416f178830595,libdata_encoding-84bb5aadfa9e8839}.rlibgithub-actions bot pushed a commit to devnexen/miri that referenced this pull request
Fix short linker error output
This PR does 2 things:
It removes the braces when there's a single element. This is required since brace expansion (at least in bash and zsh) only triggers if there's at least 2 elements.
It removes the extra
.rlibsuffixes of the elements. See rust-lang/rust#135707 (comment) for context.
Running cargo +stage1 build on the following program:
unsafe extern "C" {
fn foo() -> libc::c_int;
}
fn main() {
let x = unsafe { foo() } as u32;
// println!("{}", data_encoding::BASE64.encode(&x.to_le_bytes()));
}Gives the following diff before and after the PR:
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib}.rlib
+/tmp/foo/target/debug/deps/liblibc-faf416f178830595.rlibRunning on the same program with the additional dependency, we get the following diff:
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib,libdata_encoding-84bb5aadfa9e8839.rlib}.rlib
+/tmp/foo/target/debug/deps/{liblibc-faf416f178830595,libdata_encoding-84bb5aadfa9e8839}.rlibFractalFir pushed a commit to FractalFir/rust that referenced this pull request
This PR does 2 things:
It removes the braces when there's a single element. This is required since brace expansion (at least in bash and zsh) only triggers if there's at least 2 elements.
It removes the extra
.rlibsuffixes of the elements. See rust-lang#135707 (comment) for context.
Running cargo +stage1 build on the following program:
unsafe extern "C" {
fn foo() -> libc::c_int;
}
fn main() {
let x = unsafe { foo() } as u32;
// println!("{}", data_encoding::BASE64.encode(&x.to_le_bytes()));
}Gives the following diff before and after the PR:
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib}.rlib
+/tmp/foo/target/debug/deps/liblibc-faf416f178830595.rlibRunning on the same program with the additional dependency, we get the following diff:
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib,libdata_encoding-84bb5aadfa9e8839.rlib}.rlib
+/tmp/foo/target/debug/deps/{liblibc-faf416f178830595,libdata_encoding-84bb5aadfa9e8839}.rlibDo we want to add a UI test?
Labels
Area: The compiletest test runner
Area: port run-make Makefiles to rmake.rs
Area: The testsuite used to check the correctness of rustc
Area: The tidy tool
This PR was explicitly merged by bors.
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Relevant to the compiler team, which will review and decide on the PR/issue.
