diff options
| author | Davide Italiano <davide@freebsd.org> | 2016-11-01 20:11:01 +0000 |
|---|---|---|
| committer | Davide Italiano <davide@freebsd.org> | 2016-11-01 20:11:01 +0000 |
| commit | 1da3a52d118f1893c3d1bd00e5e27cc2e178b806 (patch) | |
| tree | 8087165bf098d20f7a0f1edb25157608e29f5e3c /llvm/test/Object | |
| parent | 1c329c123e4530796d777484680a3291e7d4cec2 (diff) | |
| download | bcm5719-llvm-1da3a52d118f1893c3d1bd00e5e27cc2e178b806.tar.gz bcm5719-llvm-1da3a52d118f1893c3d1bd00e5e27cc2e178b806.zip | |
[ELF/GC] Fix pending references to garbage collected sections.
The example reported in PR30793 shows a case where gc reclaims
a SHF_TLS section, but it doesn't reclaim the section containing
the debug info for it.
This is expected, as we do not reclaim non-alloc sections
during the garbage collection phase (and this is not going to
change anytime soon, at least this is what I gathered last I
talked with Rafael about it).
So, we end up with a pending reference, thinking that the input
was invalid (which is not true, as it's GC that removed the
SHT_TLS section, and therefore didn't create the PT_TLS *segment*
for it). In cases like this, just assign a VA of zero at relocation
time instead of error'ing out (this is what gold does as well, FWIW).
Differential Revision: https://reviews.llvm.org/D26201
llvm-svn: 285735
Diffstat (limited to 'llvm/test/Object')
0 files changed, 0 insertions, 0 deletions

