1. ELF: Discard .ARM.exidx sections for empty functions instead of (details)
Commit 2c6fae179e6984c7330ff8a284d7a10ce142eef9 by peter
ELF: Discard .ARM.exidx sections for empty functions instead of
misordering them.
The logic added in r372781 caused ARMExidxSyntheticSection::addSection()
to return false for exidx sections without a link order dep that passed
isValidExidxSectionDep(). This included exidx sections for empty
functions. As a result, such exidx sections would end up treated like
ordinary sections and would end up being laid out before the
ARMExidxSyntheticSection, most likely in the wrong order relative to the
exidx entries in the ARMExidxSyntheticSection, breaking the orderedness
invariant relied upon by unwinders. Fix this by simply discarding such
Differential Revision:
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was addedlld/test/ELF/arm-exidx-empty-fn.s