diff options
author | George Rimar <grimar@accesssoftek.com> | 2016-11-02 10:16:25 +0000 |
---|---|---|
committer | George Rimar <grimar@accesssoftek.com> | 2016-11-02 10:16:25 +0000 |
commit | bcba39ab9c8c4d2faeff70774fca91b1efec79e3 (patch) | |
tree | d84417fc61bb132467432e1733e5a6984dd569d6 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 5cddd608cde770e48e7260c06f054a3bed34898d (diff) | |
download | bcm5719-llvm-bcba39ab9c8c4d2faeff70774fca91b1efec79e3.tar.gz bcm5719-llvm-bcba39ab9c8c4d2faeff70774fca91b1efec79e3.zip |
[ELF] - Check that .dynsym is present in DSO if SHT_GNU_versym section is.
When we have SHT_GNU_versym section, it is should be associated with symbol table
section. Usually (and in out implementation) it is .dynsym.
In case when .dynsym is absent (due to broken object for example),
lld crashes in parseVerdefs() when accesses null pointer:
Versym = reinterpret_cast<const Elf_Versym *>(this->ELFObj.base() +
VersymSec->sh_offset) +
this->Symtab->sh_info;
DIfferential revision: https://reviews.llvm.org/D25553
llvm-svn: 285796
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions