Skip to content
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

Fix fingerprinting for lld on Windows with dylib. #8290

Merged
merged 1 commit into from
May 27, 2020

Conversation

ehuss
Copy link
Contributor

@ehuss ehuss commented May 27, 2020

This fixes an issue where if lld is used on Windows, dynamic libraries will never be treated as "fresh". This is a regression from #8210 where Cargo is expecting export files to be created, but lld does not create these.

The solution is to ignore "Auxiliary" files in fingerprinting, which AFAIK aren't really needed (only the primary output files really matter).

Fixes #8284

@rust-highfive
Copy link

r? @Eh2406

(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 May 27, 2020
@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Contributor

bors commented May 27, 2020

📌 Commit 1fd6fcd46a37f40a7beebe48cecc7ed24c754b3e has been approved by alexcrichton

@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 May 27, 2020
@bors
Copy link
Contributor

bors commented May 27, 2020

⌛ Testing commit 1fd6fcd46a37f40a7beebe48cecc7ed24c754b3e with merge 28ee8fd7acda4382953c324ecc0a83e66ba42276...

@bors
Copy link
Contributor

bors commented May 27, 2020

💔 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 May 27, 2020
@ehuss ehuss force-pushed the fix-lld-freshness branch from 1fd6fcd to 90c0bcd Compare May 27, 2020 18:04
@ehuss
Copy link
Contributor Author

ehuss commented May 27, 2020

I fixed the linker name (lld-link to rust-lld). I was a bit confused, because that was what I was using on my desktop. Do you want to double check that makes sense? AFAIK rust-lld is always available for x86_64-pc-windows-msvc via rustup.

@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Contributor

bors commented May 27, 2020

📌 Commit 90c0bcd has been approved by alexcrichton

@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 May 27, 2020
@bors
Copy link
Contributor

bors commented May 27, 2020

⌛ Testing commit 90c0bcd with merge 974fed9...

@bors
Copy link
Contributor

bors commented May 27, 2020

☀️ Test successful - checks-azure
Approved by: alexcrichton
Pushing 974fed9 to master...

@bors bors merged commit 974fed9 into rust-lang:master May 27, 2020
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 4, 2020
Update cargo

9 commits in 9fcb8c1d20c17f51054f7aa4e08ff28d381fe096..40ebd52206e25c7a576ee42c137cc06a745a167a
2020-05-25 16:25:36 +0000 to 2020-06-01 22:35:00 +0000
- Warn if using hash in git URL, Fixes rust-lang/cargo#8241 (rust-lang/cargo#8297)
- reset lockfile information between resolutions (rust-lang/cargo#8274)
- Disable strip_works test on macos. (rust-lang/cargo#8301)
- Fix typo in impl Display for Strip (rust-lang/cargo#8299)
- Add support for rustdoc root URL mappings. (rust-lang/cargo#8287)
- Fix tests with enoent error message on non-english systems. (rust-lang/cargo#8295)
- Fix fingerprinting for lld on Windows with dylib. (rust-lang/cargo#8290)
- Fix a typo (rust-lang/cargo#8289)
- Fix several issues with close_output test. (rust-lang/cargo#8286)
ehuss pushed a commit to ehuss/cargo that referenced this pull request Jun 5, 2020
Fix fingerprinting for lld on Windows with dylib.

This fixes an issue where if `lld` is used on Windows, dynamic libraries will never be treated as "fresh". This is a regression from rust-lang#8210 where Cargo is expecting export files to be created, but lld does not create these.

The solution is to ignore "Auxiliary" files in fingerprinting, which AFAIK aren't really needed (only the primary output files really matter).

Fixes rust-lang#8284
@ehuss ehuss mentioned this pull request Jun 5, 2020
bors added a commit that referenced this pull request Jun 5, 2020
1.45 beta backports

Beta backports for:
* #8290 — Fix fingerprinting for lld on Windows with dylib.
* #8329 — Don't hash executable filenames on apple platforms. (fix macos backtraces)
@ehuss ehuss mentioned this pull request Jun 5, 2020
bors added a commit that referenced this pull request Jun 5, 2020
1.45 beta backports

Beta backports for:
* #8290 — Fix fingerprinting for lld on Windows with dylib.
* #8329 — Don't hash executable filenames on apple platforms. (fix macos backtraces)
@ehuss ehuss modified the milestones: 1.46.0, 1.45.0 Feb 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[regression] when using lld on windows and nightly cargo, no-op builds recompile everything
5 participants