Bring back r319008.
authorRafael Espindola <rafael.espindola@gmail.com>
Tue, 28 Nov 2017 20:17:58 +0000 (20:17 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Tue, 28 Nov 2017 20:17:58 +0000 (20:17 +0000)
commit1d4b3023dc6ada3d82af12716f2a15320efae293
treeb0ecab8254baa92bf6ee920d0b518914d962aedf
parent57ef60f0f9c8ed858bd0ac3baa34dc3fa2478f69
Bring back r319008.

This includes a fix to mark copy reloc aliases as used.

Original message:

[ELF] Do not keep symbols if they referenced only from discarded sections.

This patch also ensures that in case of "--as-needed" is used,
DT_NEEDED entries are not created if they are required only by
these eliminated symbols.

llvm-svn: 319215
lld/ELF/MarkLive.cpp
lld/ELF/Relocations.cpp
lld/ELF/SymbolTable.cpp
lld/ELF/Symbols.h
lld/ELF/Writer.cpp
lld/test/ELF/Inputs/gc-sections-shared2.s [new file with mode: 0644]
lld/test/ELF/gc-collect-undefined.s [new file with mode: 0644]
lld/test/ELF/gc-sections-shared.s