This is an archive of the discontinued LLVM Phabricator instance.

[LLD][ELF] Consolidate .ARM.extab.* sections into .ARM.extab
ClosedPublic

Authored by peter.smith on Jun 27 2017, 4:09 AM.

Details

Summary

When -ffunction-sections and ARM C++ exceptions are used each .text.suffix section will have at least one .ARM.exidx.suffix section and may have an additional .ARM.extab.suffix section if the unwinding instructions are too large to inline into the .ARM.exidx table entry. For a large program without a linker script this can lead to a large number of section header table entries that can increase the size of the ELF file.

This change introduces a default rule for .ARM.extab.* to be placed in a single output section called .ARM.extab . This follows the behavior of ld.gold and ld.bfd.

fixes pr33407

Diff Detail

Repository
rL LLVM

Event Timeline

peter.smith created this revision.Jun 27 2017, 4:09 AM
smeenai resigned from this revision.Jun 27 2017, 10:00 AM

LGTM, but @ruiu or @rafael has to approve, of course. I'm happy to see this though :)

ruiu accepted this revision.Jun 27 2017, 11:11 AM

LGTM

This revision is now accepted and ready to land.Jun 27 2017, 11:11 AM
This revision was automatically updated to reflect the committed changes.