Stop using dlltool for generating import libraries on MinGW - #157712
Stop using dlltool for generating import libraries on MinGW#157712bjorn3 wants to merge 2 commits into
Conversation
064b8e5 to
b5d891b
Compare
b5d891b to
a17a3d2
Compare
This comment has been minimized.
This comment has been minimized.
a17a3d2 to
3cbb918
Compare
This comment has been minimized.
This comment has been minimized.
3cbb918 to
adca83a
Compare
This comment has been minimized.
This comment has been minimized.
adca83a to
4fa01bb
Compare
This comment has been minimized.
This comment has been minimized.
4fa01bb to
238a0fd
Compare
|
These commits modify compiler targets. Some changes occurred in src/tools/compiletest cc @jieyouxu
|
|
r? @TaKO8Ki rustbot has assigned @TaKO8Ki. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
cc @mati865 |
|
I think the consensus on Zulip was that we want to hold back the breaking changes until next release after the bump. To give the time for updating. |
Well, they did but with caveats. Like, it broke when import libs were put inside archive like staticlib/rlib. |
|
My bad. Let's wait for beta to branch then. @rustbot author |
This comment has been minimized.
This comment has been minimized.
238a0fd to
d4baa00
Compare
This comment has been minimized.
This comment has been minimized.
|
It's been almost 4 weeks. |
|
@bors r+ |
|
Asked on Zulip whether this requires a MCP due to stable flag removal. Previously we did that via MCP: #152973 Pulling off the merge queue until answered, if MCP is not required then I apologize for the noise. EDIT: also sorry for the late notice, I' been meaning to review it but couldn't remember to do that when I had time. |
|
This pull request was unapproved. |
This comment has been minimized.
This comment has been minimized.
Older versions of ld.bfd didn't support short import libraries like the builtin implementation of rustc generates. So we worked around this by using binutils dlltool, which produces the old import library format. We have now bumped the minimum supported ld.bfd version to one which does support them, so we can drop the dlltool usage. This makes cross-compilation a bit easier and removes a bunch of code in rustc.
d4baa00 to
687fd1c
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@rustbot ready Turns out we will have to this rather than the more gradual migration path in #161050 after all due to a standard library being compiled without usage of dlltool being ABI incompatible with user code compiled with usage of dlltool and vice versa: #161050 (comment) @rustbot fcp compiler This will stop us from respecting |
|
@rfcbot fcp compiler |
|
@rfcbot merge compiler This will stop us from respecting |
|
@bjorn3 has proposed to merge this. The next step is review by the rest of the tagged team members:
No concerns currently listed. Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! See this document for info about what commands tagged team members can give me. |
View all comments
Older versions of ld.bfd didn't support short import libraries like the builtin implementation of rustc generates. So we worked around this by using binutils dlltool, which produces the old import library format. We have now bumped the minimum supported ld.bfd version to one which does support them, so we can drop the dlltool usage. This makes cross-compilation a bit easier and removes a bunch of code in rustc.
Implements rust-lang/compiler-team#1029