You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Among other possibilities, GNU's ld (ld.bfd) and ld.gold have an -O switch to perform various optimizations. It makes them spend more time optimizing lookup table performance/size. Rust has long mangled symbol names so these optimizations are going to be important once there are large projects with lots of symbols. We probably also want to use --as-needed and perhaps--gc-sections.
Sadly Apple's ld is pretty crippled and lacks the -O switch, and I'm unsure about how portable these flags are overall. Although this issue would be bypassed by eventually using LLVM's lld linker.
The text was updated successfully, but these errors were encountered:
@sanxiyn: it's only enabled on Linux at the moment, and we could likely flip it on for Windows too since we use MinGW and will be able to pass the same flags to lld
Closed on linux by #10620, I'm not sure if this exists much more on other platforms, and most of the concerns of this are probably going to get subsumed by #10741. Closing for now (but feel free to reopen if anyone thinks otherwise!)
Among other possibilities, GNU's ld (ld.bfd) and ld.gold have an -O switch to perform various optimizations. It makes them spend more time optimizing lookup table performance/size. Rust has long mangled symbol names so these optimizations are going to be important once there are large projects with lots of symbols. We probably also want to use
--as-needed
and perhaps--gc-sections
.Sadly Apple's ld is pretty crippled and lacks the
-O
switch, and I'm unsure about how portable these flags are overall. Although this issue would be bypassed by eventually using LLVM'slld
linker.The text was updated successfully, but these errors were encountered: