[ELF] When placing orphans, handle case when last section is dead
authorPetr Hosek <phosek@chromium.org>
Mon, 23 Oct 2017 00:51:08 +0000 (00:51 +0000)
committerPetr Hosek <phosek@chromium.org>
Mon, 23 Oct 2017 00:51:08 +0000 (00:51 +0000)
commit2fd533db9f7b121d19b5f9b9d5a7692e7b2b0fee
tree4b029e8bd5e235cc18baf58072a56023d154325d
parent8faafa4fb1452b45f7b5bcf77f4e44a6846f6f70
[ELF] When placing orphans, handle case when last section is dead

r315292 introduced a change that's supposed to consistently ignore
"dead" output sections when placing orphans. Unfortunately, that
change doesn't handle the special case when the orphan section is
second to last section and the last section is dead (e.g. because
it's being discarded) introducing a regression in some cases.

This change handles this case by using the same predicate when
checking the last section.

Differential Revision: https://reviews.llvm.org/D39172

llvm-svn: 316307
lld/ELF/Writer.cpp
lld/test/ELF/linkerscript/orphan-discard.s [new file with mode: 0644]