llvm-project/lld/ELF
Rui Ueyama 67533a2cb3 Define RelType to represent relocation types.
We were using uint32_t as the type of relocation kind. It has a
readability issue because what Type really means in `uint32_t Type`
is not obvious. It could be a section type, a symbol type or a
relocation type.

Since we do not do any arithemetic operations on relocation types
(e.g. adding one to R_X86_64_PC32 doesn't make sense), it would be
more natural if they are represented as enums. Unfortunately, that
is not doable because relocation type definitions are spread into
multiple header files.

So I decided to use typedef. This still should be better than the
plain uint32_t because the intended type is now obvious.

llvm-svn: 315525
2017-10-11 22:49:24 +00:00
..
Arch Define RelType to represent relocation types. 2017-10-11 22:49:24 +00:00
CMakeLists.txt Wait for all threads to terminate before exitting. 2017-10-05 23:01:11 +00:00
Config.h [ELF] Set Dot initially to --image-base value when using linker scripts 2017-10-10 10:09:35 +00:00
Driver.cpp Split decompressAndMergeSection into two separate functions. 2017-10-11 03:12:53 +00:00
Driver.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
DriverUtils.cpp Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
EhFrame.cpp Revert rL313697, "Compact EhSectionPiece from 32 bytes to 16 bytes." 2017-09-20 08:03:18 +00:00
EhFrame.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
Error.cpp Wait for all threads to terminate before exitting. 2017-10-05 23:01:11 +00:00
Error.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
Filesystem.cpp Wait for all threads to terminate before exitting. 2017-10-05 23:01:11 +00:00
Filesystem.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
GdbIndex.cpp [ELF] Decompress debug info sections early 2017-10-04 00:19:41 +00:00
GdbIndex.h Remove unused member variable. 2017-09-24 23:12:36 +00:00
ICF.cpp [ICF] Include section contents in section hash values. 2017-10-02 01:21:07 +00:00
ICF.h [ELF] - Apply clang-format. NFC. 2017-07-18 11:55:35 +00:00
InputFiles.cpp Use more precise type. 2017-10-11 04:01:13 +00:00
InputFiles.h Update for llvm change. 2017-10-10 22:18:16 +00:00
InputSection.cpp Define RelType to represent relocation types. 2017-10-11 22:49:24 +00:00
InputSection.h Use more precise type. 2017-10-11 04:01:13 +00:00
LTO.cpp Rename Commands -> SectionCommands. 2017-10-11 01:50:56 +00:00
LTO.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
LinkerScript.cpp [ELF] - Do not set output section flags except SHF_{ALLOC,WRITE,EXECINSTR}. 2017-10-11 08:13:40 +00:00
LinkerScript.h Split LinkerScript::computeInputSections into two functions. 2017-10-11 04:50:30 +00:00
MapFile.cpp Rename Commands -> SectionCommands. 2017-10-11 01:50:56 +00:00
MapFile.h Merge OutputSectionCommand and OutputSection. 2017-07-27 19:22:43 +00:00
MarkLive.cpp Remove ScriptConfiguration class and move the members to LinkerScript class. 2017-10-11 01:19:33 +00:00
Memory.h [ELF] - Apply clang-format. NFC. 2017-07-18 11:55:35 +00:00
Options.td Add -no-gdb-index which negates -gdb-index option. 2017-09-07 22:40:54 +00:00
OutputSections.cpp Do not copy Sections vector. 2017-10-11 05:13:16 +00:00
OutputSections.h Rename processCommands -> processSectionCommands. 2017-10-11 02:28:28 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp Define RelType to represent relocation types. 2017-10-11 22:49:24 +00:00
Relocations.h Define RelType to represent relocation types. 2017-10-11 22:49:24 +00:00
ScriptLexer.cpp [ELF] - Fix out of sync comment. NFC. 2017-10-11 08:18:53 +00:00
ScriptLexer.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
ScriptParser.cpp Return early if it fails to parse a hex string. 2017-10-11 19:30:39 +00:00
ScriptParser.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
Strings.cpp [ELF] - Update after LLVM r314883 change. NFC. 2017-10-04 08:50:34 +00:00
Strings.h [ELF] - Update after LLVM r314883 change. NFC. 2017-10-04 08:50:34 +00:00
SymbolTable.cpp Inline small function. NFC. 2017-10-07 01:08:28 +00:00
SymbolTable.h Inline small function. NFC. 2017-10-07 01:08:28 +00:00
Symbols.cpp [ELF] Simpler scheme for handling common symbols 2017-09-29 09:08:26 +00:00
Symbols.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
SyntheticSections.cpp Split decompressAndMergeSection into two separate functions. 2017-10-11 03:12:53 +00:00
SyntheticSections.h Split decompressAndMergeSection into two separate functions. 2017-10-11 03:12:53 +00:00
Target.cpp Define RelType to represent relocation types. 2017-10-11 22:49:24 +00:00
Target.h Define RelType to represent relocation types. 2017-10-11 22:49:24 +00:00
Threads.cpp Wait for all threads to terminate before exitting. 2017-10-05 23:01:11 +00:00
Threads.h Wait for all threads to terminate before exitting. 2017-10-05 23:01:11 +00:00
Thunks.cpp Define RelType to represent relocation types. 2017-10-11 22:49:24 +00:00
Thunks.h Define RelType to represent relocation types. 2017-10-11 22:49:24 +00:00
Writer.cpp Rename processCommands -> processSectionCommands. 2017-10-11 02:28:28 +00:00
Writer.h [MIPS] Generate thunks for microMIPS code 2017-10-03 13:30:02 +00:00

README.md

See docs/NewLLD.rst