llvm-project/lld/COFF
Martin Storsjo 474be005db [COFF] Store import symbol pointers as pointers to the base class
Future symbol insertions can potentially change the type of these
symbols - keep pointers to the base class to reflect this, and
use dynamic casts to inspect them before using as the subclass
type.

This fixes crashes that were possible before, by touching these
symbols that now are populated as e.g. a DefinedRegular, via
the old pointers with DefinedImportThunk type.

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

llvm-svn: 336652
2018-07-10 10:40:11 +00:00
..
CMakeLists.txt Merge {COFF,ELF}/Strings.cpp to Common/Strings.cpp. 2018-02-28 17:38:19 +00:00
Chunks.cpp [COFF] report file containing unsupported relocation 2018-06-07 00:50:03 +00:00
Chunks.h COFF: Preserve section type when processing /section flag. 2018-04-20 21:23:16 +00:00
Config.h [COFF] Add an LLD specific option -debug:symbtab 2018-06-29 06:08:25 +00:00
DLL.cpp Consistent (non) use of empty lines in include blocks 2018-02-20 21:53:18 +00:00
DLL.h COFF: Process /merge flag as we create output sections. 2018-04-07 00:46:55 +00:00
Driver.cpp [COFF] Add an LLD specific option -debug:symbtab 2018-06-29 06:08:25 +00:00
Driver.h Fix /WholeArchive bug. 2018-06-12 21:47:31 +00:00
DriverUtils.cpp Refactor ExecuteAndWait to take StringRefs. 2018-06-12 17:43:52 +00:00
ICF.cpp COFF: Allow ICFing sections with different alignments. 2018-05-14 18:36:51 +00:00
ICF.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00
InputFiles.cpp [COFF] Store import symbol pointers as pointers to the base class 2018-07-10 10:40:11 +00:00
InputFiles.h [COFF] Store import symbol pointers as pointers to the base class 2018-07-10 10:40:11 +00:00
LTO.cpp Code cleanup in preparation for adding LTO for wasm. NFC. 2018-05-22 20:20:25 +00:00
LTO.h Code cleanup in preparation for adding LTO for wasm. NFC. 2018-05-22 20:20:25 +00:00
MapFile.cpp COFF: Move assignment of section RVAs to assignAddresses(). NFCI. 2018-03-15 21:13:46 +00:00
MapFile.h COFF: Change the /lldmap output format to be more like the ELF linker. 2017-01-14 03:14:46 +00:00
MarkLive.cpp COFF: Don't create unnecessary thunks. 2018-05-10 19:01:28 +00:00
MarkLive.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00
MinGW.cpp COFF: Rename Chunk::getPermissions to getOutputCharacteristics. 2018-04-19 20:03:24 +00:00
MinGW.h [COFF] Avoid forward declaring StringSet, fix build 2017-10-19 20:19:16 +00:00
Options.td [COFF] Add an LLD specific option -debug:symbtab 2018-06-29 06:08:25 +00:00
PDB.cpp Resubmit [pdb] Change /DEBUG:GHASH to emit 8 byte hashes." 2018-05-17 22:55:15 +00:00
PDB.h COFF: Friendlier undefined symbol errors. 2018-04-17 23:32:33 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
SymbolTable.cpp [COFF] Store import symbol pointers as pointers to the base class 2018-07-10 10:40:11 +00:00
SymbolTable.h [COFF] Store import symbol pointers as pointers to the base class 2018-07-10 10:40:11 +00:00
Symbols.cpp COFF: Don't create unnecessary thunks. 2018-05-10 19:01:28 +00:00
Symbols.h Remove an unused accessor and simplify the logic a bit. NFC. 2018-02-17 20:41:38 +00:00
Writer.cpp [COFF] Store import symbol pointers as pointers to the base class 2018-07-10 10:40:11 +00:00
Writer.h COFF: Use (name, output characteristics) as a key when grouping input sections into output sections. 2018-04-20 21:10:33 +00:00

README.md

See docs/NewLLD.rst