llvm-project/lld/ELF
Rui Ueyama 6f9d49cdde Do not emit a corrupt symbol table entry for .rela_iplt_{start,end}.
If .rela.iplt does not exist, we used to emit a corrupt symbol table
that contains two symbols, .rela_iplt_{start,end}, pointing to a
nonexisting section.

This patch fixes the issue by setting section index 0 to the symbols
if .rel.iplt section does not exist.

Differential Revision: https://reviews.llvm.org/D56623

llvm-svn: 351218
2019-01-15 18:30:23 +00:00
..
Arch TrapInstr must be 4 bytes long. Currently we write two zeros on every two bytes. 2019-01-10 17:45:56 +00:00
AArch64ErrataFix.cpp ELF: AArch64: Fix errata patch address calculation. 2018-12-17 20:15:12 +00:00
AArch64ErrataFix.h Consistent (non) use of empty lines in include blocks 2018-02-20 21:53:18 +00:00
Bits.h Move bit operations to a new file, ELF/Bits.h. 2017-10-26 21:37:17 +00:00
CMakeLists.txt [LLD][ELF] - Support MSP430. 2019-01-10 13:43:06 +00:00
CallGraphSort.cpp Simplify. NFC. 2018-10-12 22:44:06 +00:00
CallGraphSort.h [ELF] Add profile guided section layout 2018-04-17 23:30:05 +00:00
Config.h Add --plugin-opt=emit-llvm option. 2018-12-14 21:58:49 +00:00
DWARF.cpp [LLD][ELF] - Improve the DWARF v5 suport for building .gdb_index. 2018-12-03 10:48:57 +00:00
DWARF.h [LLD][ELF] - Improve the DWARF v5 suport for building .gdb_index. 2018-12-03 10:48:57 +00:00
Driver.cpp Fix linker-defined symbols possibly not being defined when -wrap is used 2019-01-02 19:28:00 +00:00
Driver.h Add TARGET(foo) linker script directive. 2018-08-06 21:29:41 +00:00
DriverUtils.cpp Eliminate dependency to formatv(). NFC. 2018-10-10 20:29:29 +00:00
EhFrame.cpp Avoid unnecessary buffer allocation and memcpy for compressed sections. 2018-10-08 16:58:59 +00:00
EhFrame.h De-template EhReader. NFC. 2017-10-27 03:14:09 +00:00
Filesystem.cpp s/LLVM_ON_WIN32/_WIN32/, lld 2018-04-10 13:15:21 +00:00
Filesystem.h Add a missing #include. 2017-11-17 08:17:21 +00:00
ICF.cpp Make a member function non-member. NFC. 2018-11-27 17:47:24 +00:00
ICF.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00
InputFiles.cpp [LLD][ELF] - Support MSP430. 2019-01-10 13:43:06 +00:00
InputFiles.h Use unique_ptr to manage a TarWriter instance. NFC. 2018-12-18 23:50:37 +00:00
InputSection.cpp Modify InputSectionBase::getLocation to add section and offset to every loc. 2019-01-10 15:08:06 +00:00
InputSection.h Do not use a hash table to uniquify mergeable strings. 2018-12-05 19:13:31 +00:00
LTO.cpp Add --plugin-opt=emit-llvm option. 2018-12-14 21:58:49 +00:00
LTO.h Simplify. 2018-09-11 14:37:27 +00:00
LinkerScript.cpp [LLD][ELF] - Support discarding the .dynamic section. 2018-12-10 09:24:49 +00:00
LinkerScript.h [LLD][ELF] - Linker script: accept using a file name without a list of sections. 2018-12-06 08:34:52 +00:00
MapFile.cpp [ELF] - (-Map file) Implement printing of LMA for assignments outside of section declarations. 2018-12-06 09:04:52 +00:00
MapFile.h Implement --cref. 2018-03-14 20:29:45 +00:00
MarkLive.cpp Fix formatting. NFC. 2019-01-09 22:24:27 +00:00
MarkLive.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00
Options.td Add --plugin-opt=emit-llvm option. 2018-12-14 21:58:49 +00:00
OutputSections.cpp ELF: allow non allocated sections to go into allocated sections 2018-12-04 18:47:44 +00:00
OutputSections.h [ELF] Make TrapInstr and Filler byte arrays. NFC. 2018-11-14 21:05:20 +00:00
README.md
Relocations.cpp [ELF][AArch64] Add missing PLT relocations to isStaticLinkTimeConstant 2019-01-15 11:17:03 +00:00
Relocations.h [ELF] - Fix R_AARCH64_ADR_GOT_PAGE, R_AARCH64_LD64_GOT_LO12 handling against IFUNC symbols. 2018-11-27 10:30:46 +00:00
ScriptLexer.cpp [LLD][ELD] - Do not reject INFO output section type when used with a start address. 2018-08-28 08:39:21 +00:00
ScriptLexer.h [LLD][ELD] - Do not reject INFO output section type when used with a start address. 2018-08-28 08:39:21 +00:00
ScriptParser.cpp [LLD][ELF] - Use auto. NFC. 2018-12-06 10:56:11 +00:00
ScriptParser.h [ELF] Support expressions with -defsym option 2017-11-04 02:03:58 +00:00
SymbolTable.cpp [ELF] A shared object is needed if any of its occurrences is needed 2018-12-27 22:24:45 +00:00
SymbolTable.h [ELF] A shared object is needed if any of its occurrences is needed 2018-12-27 22:24:45 +00:00
Symbols.cpp Do not emit a corrupt symbol table entry for .rela_iplt_{start,end}. 2019-01-15 18:30:23 +00:00
Symbols.h Do not emit a corrupt symbol table entry for .rela_iplt_{start,end}. 2019-01-15 18:30:23 +00:00
SyntheticSections.cpp Use error() instead of fatal() to report an invalid address range. 2018-12-26 19:15:04 +00:00
SyntheticSections.h [ELF] .gnu.hash bloom filter: use Shift2 = 26 instead of 6 2018-12-21 21:59:34 +00:00
Target.cpp [LLD][ELF] - Support MSP430. 2019-01-10 13:43:06 +00:00
Target.h [LLD][ELF] - Support MSP430. 2019-01-10 13:43:06 +00:00
Thunks.cpp [ELF] Fix ARM and Thumb V7PILongThunk overflow behavior. 2019-01-10 16:08:23 +00:00
Thunks.h ELF: Allow thunks to change size. NFCI. 2018-03-29 22:32:13 +00:00
Writer.cpp Do not emit a corrupt symbol table entry for .rela_iplt_{start,end}. 2019-01-15 18:30:23 +00:00
Writer.h ELF: Do not ICF two sections with different output sections. 2018-05-23 01:58:43 +00:00

README.md

See docs/NewLLD.rst