Skip to content

Conversation

@wesleywiser
Copy link
Member

@wesleywiser wesleywiser commented Nov 7, 2025

The comment here was a bit misleading, #13846 was about an LLVM assertion that failed when -Zfunction-sections was enabled. However, that bug has been fixed for a long time and the actual issue was that older ld versions would not correctly link binaries (see #75604 for the prior attempt at this change). This bug was fixed in version 2.32 of binutils and Rust now ships binutils 2.42 as of #119229 so we can remove this workaround!

The comment here was a bit misleading, rust-lang#13846 was about an LLVM assertion
that failed when `-Zfunction-sections` was enabled. However, that bug
has been fixed for a long time and the actual issue was that older `ld`
versions would not correctly link binaries (see rust-lang#75604 for the prior
attempt at this change). This bug was fixed in version 2.32 of binutils
and Rust now ships binutils 2.42 as of rust-lang#119229 so we can remove this
workaround!
@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Nov 7, 2025
@rust-log-analyzer

This comment has been minimized.

@wesleywiser
Copy link
Member Author

@bors try jobs=x86_64-mingw-1,x86_64-mingw-2

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Nov 7, 2025
…try>

Enable `-Zfunction-sections` by default for `*-windows-{gnu,cygwin}`

try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
@rust-log-analyzer

This comment has been minimized.

@rust-bors
Copy link

rust-bors bot commented Nov 7, 2025

💔 Test for ef05458 failed: CI. Failed jobs:

@wesleywiser
Copy link
Member Author

@bors try jobs=x86_64-mingw-1,x86_64-mingw-2

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Nov 8, 2025
…try>

Enable `-Zfunction-sections` by default for `*-windows-{gnu,cygwin}`

try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
@rust-bors
Copy link

rust-bors bot commented Nov 8, 2025

☀️ Try build successful (CI)
Build commit: 63e4cbf (63e4cbf99d7fffa8992085764a640100c6a68dbf, parent: 87f9dcd5e28a301fce81515bd4bea792444dcf29)

@mati865
Copy link
Member

mati865 commented Nov 9, 2025

I don't know whether it still triggers an assertion because Rust doesn't build do LLVM build with assertions enabled for Windows GNU. The assertion is probably gone because functions sections work fine with Clang+LLD (gnullvm targets are built with function sections).
My comment on that issue was short-lived, some of the issues were fixed, but new ones popped up. AFAICT, this still doesn't fully work with trunk versions of GCC and Binutils.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants