HomePhabricator

Do not keep shared symbols created from garbage-collected eliminated DSOs.

Authored by ruiu on Apr 12 2018, 2:57 PM.

Description

Do not keep shared symbols created from garbage-collected eliminated DSOs.

If all references to a DSO happen to be weak, and if the DSO is
specified with --as-needed, the DSO is not added to DT_NEEDED.
If that happens, we also need to eliminate shared symbols created
from the DSO. Otherwise, they become dangling references that point
to non-exsitent DSO.

Fixes https://bugs.llvm.org/show_bug.cgi?id=36991

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

llvm-svn: 329960

Details

Committed
ruiuApr 12 2018, 2:57 PM
Differential Revision
D45536: Do not keep shared symbols to garbage-collected eliminated DSOs.
Parents
rG1615da6f4eb1: [ProfileSummary] Remove repeated cutoffs; NFCI
Branches
Unknown
Tags
Unknown