WIP: Implement string merging on Windows
Changes PlannedPublic

Authored by Phyx on Mar 26 2017, 3:25 PM.

Details

Reviewers
bgamari
austin
Trac Issues
#12965
Summary

Implement string merging on Windows by using
COMDAT sections and an MD5 hash to generate
the section names.

The idea is to have the NCG generate identically
named sections for identical strings and have the
linker drop the duplicates and then merge the sections
back together.

Test Plan

./validate

Phyx created this revision.Mar 26 2017, 3:25 PM
Phyx updated the Trac tickets for this revision.
Phyx updated this revision to Diff 11879.Mar 26 2017, 5:29 PM

Correct base

Phyx updated this revision to Diff 11880.Mar 26 2017, 5:35 PM
  • Correct packages
Phyx updated this revision to Diff 12154.Apr 17 2017, 7:27 AM
  • Add linkonce pragmas
  • revert tarbals downgrade.
  • Fix alignments
Phyx planned changes to this revision.May 2 2017, 4:03 AM
austin resigned from this revision.Nov 9 2017, 11:36 AM

What ever happened to this, @Phyx?

Phyx added a comment.Jun 11 2018, 12:40 PM

@bgamari it relies on gc-sections working, however do to Trac #15051 it may be time to see about getting split-sections and gc-sections working properly. On x64 it should be working just terribly slow, but my own binutils fork should be much faster. https://github.com/mistuke/binutils-gdb

but x86 has no gc-sections support last checked. The problem I have still not been able to sort out is me contributing back such code upstream...