diff options
| author | Eugene Leviant <evgeny.leviant@gmail.com> | 2016-10-04 12:05:42 +0000 |
|---|---|---|
| committer | Eugene Leviant <evgeny.leviant@gmail.com> | 2016-10-04 12:05:42 +0000 |
| commit | b90f3cf15ba286156fc43ec7882c162c24d6446c (patch) | |
| tree | 38983da3256f56121bbead60de83f2e1f6c4c9bf /lld/ELF | |
| parent | 40be15cfb0c4df6d8013a62b013aba354855b8b1 (diff) | |
| download | bcm5719-llvm-b90f3cf15ba286156fc43ec7882c162c24d6446c.tar.gz bcm5719-llvm-b90f3cf15ba286156fc43ec7882c162c24d6446c.zip | |
[ELF] Don't discard excluded section if -r is used
This conforms to GNU ld/gold behavior and fixes crash in case
excluded section also has associated relocation section
llvm-svn: 283214
Diffstat (limited to 'lld/ELF')
| -rw-r--r-- | lld/ELF/InputFiles.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index 0981e2cd48f..566da9cb843 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -226,7 +226,7 @@ void elf::ObjectFile<ELFT>::initializeSections( if (Sections[I] == &InputSection<ELFT>::Discarded) continue; - if (Sec.sh_flags & SHF_EXCLUDE) { + if (!Config->Relocatable && (Sec.sh_flags & SHF_EXCLUDE)) { Sections[I] = &InputSection<ELFT>::Discarded; continue; } |

