forked from OSchip/llvm-project
77a4da1991
Merge::mergeByLargestSection is half-baked since it's defined in terms of section size, there's no way to get the section size of an atom. Currently we work around the issue by traversing the layout edges to both directions and calculate the sum of all atoms reachable. I wrote that code but I knew it's hacky. It's even not guaranteed to work. If you add layout edges before the core linking, it miscalculates a size. Also it's of course slow. It's basically a linked list traversal. In this patch I added DefinedAtom::sectionSize so that we can use that for mergeByLargestSection. I'm not very happy to add a new field to DefinedAtom base class, but I think it's legitimate since mergeByLargestSection is defined for section size, and the section size is currently just missing. http://reviews.llvm.org/D7966 llvm-svn: 231290 |
||
---|---|---|
.. | ||
Driver | ||
LinkerScript | ||
Unit | ||
core | ||
darwin | ||
elf | ||
mach-o | ||
pecoff | ||
CMakeLists.txt | ||
Makefile | ||
lit.cfg | ||
lit.site.cfg.in |