llvm-project/lld
George Rimar bcba39ab9c [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
2016-11-02 10:16:25 +00:00
..
COFF Re-commit r285607: Emit Section Map stream." 2016-10-31 21:09:21 +00:00
ELF [ELF] - Check that .dynsym is present in DSO if SHT_GNU_versym section is. 2016-11-02 10:16:25 +00:00
cmake/modules
docs Update document. 2016-10-20 05:35:25 +00:00
include/lld Call _exit. 2016-10-26 18:59:00 +00:00
lib Fix build breakage on buildbots that was due to 285309. 2016-10-27 17:43:39 +00:00
test [ELF] - Check that .dynsym is present in DSO if SHT_GNU_versym section is. 2016-11-02 10:16:25 +00:00
tools/lld Call _exit. 2016-10-26 18:59:00 +00:00
unittests [Cmake] Use Cmake's default RPATH for unittest. 2016-09-12 20:44:53 +00:00
.arcconfig Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.clang-format
.gitignore
CMakeLists.txt Inline a trivial CMakeLists.txt. 2016-03-03 01:56:23 +00:00
CODE_OWNERS.TXT Add initial CODE_OWNERS.TXT file 2015-07-25 00:44:37 +00:00
LICENSE.TXT Update copyright year to 2016. 2016-03-30 22:40:59 +00:00
README.md

README.md

LLVM Linker (lld)

This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.

lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.