[PATCH] D66727: [ELF] Simplify EhInputSection and .ARM.exidx* handling

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 25 22:45:00 PDT 2019


MaskRay created this revision.
MaskRay added reviewers: grimar, pcc, peter.smith, ruiu.
Herald added subscribers: llvm-commits, kristof.beyls, arichardson, javed.absar, emaste.
Herald added a reviewer: espindola.
Herald added a project: LLVM.

D66717 <https://reviews.llvm.org/D66717> added some code to filter out EhInputSection and input
.ARM.exidx* in combineEhSections() and LinkerScript::computeInputSections().

That is the consequence of

1. combineEhSections() must be called after ICF (EhFrameSection::addSection checks liveness of FDE too early)
2. D66717 <https://reviews.llvm.org/D66717> moved processSectionCommands() before combineEhSections(), so processSectionCommands() has to deal with EhInputSection and input .ARM.exidx*

Postpone FDE liveness check to EhFrameSection::finalizeContents. This
allows us to restore the old order and makes the filter logic
conceptually simpler: it is now in
{EhFrameSection,ARMExidxSyntheticSection}::finalizeContents.


Repository:
  rLLD LLVM Linker

https://reviews.llvm.org/D66727

Files:
  ELF/Driver.cpp
  ELF/LinkerScript.cpp
  ELF/SyntheticSections.cpp
  ELF/SyntheticSections.h
  ELF/Writer.cpp
  ELF/Writer.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66727.217076.patch
Type: text/x-patch
Size: 8542 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190826/10a41f95/attachment.bin>


More information about the llvm-commits mailing list