llvm-project/lld/ELF
JF Bastien 7a210d65ed Fix lld on GCC 5.1 after the C++14 move
Summary:
libstdc++ in GCC 5.1 has some bugs. The move to C++14 in D66195 triggered one
such bug caused by the new constexpr support in C++14, and the implementation
doing SFINAE wrong with the comparator to std::stable_sort.

Here's a small repro: https://godbolt.org/z/2QC3-n

The fix is to inline the lambdas directly into the llvm::stable_sort call
instead of erasing them through a std::function. The code is more readable as
well.

Reviewers: thakis, ruiu, espindola

Subscribers: emaste, arichardson, MaskRay, jkorous, dexonsmith, llvm-commits

Tags: #llvm

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

llvm-svn: 369023
2019-08-15 17:47:19 +00:00
..
Arch [ELF][AArch64] Improve error message for unknown relocations 2019-08-15 10:02:54 +00:00
AArch64ErrataFix.cpp [ELF] Fix variable names in comments after VariableName -> variableName change 2019-07-16 05:50:45 +00:00
AArch64ErrataFix.h [ELF] Fix variable names in comments after VariableName -> variableName change 2019-07-16 05:50:45 +00:00
CMakeLists.txt Fail early if an output file is not writable 2019-03-11 16:30:55 +00:00
CallGraphSort.cpp Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
CallGraphSort.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Config.h [ELF] Consistently prioritize non-* wildcards overs "*" in version scripts 2019-08-05 14:31:39 +00:00
DWARF.cpp gdb-index: Wire up str_offsets section to avoid incorrect error message about offsets_base 2019-08-07 22:49:14 +00:00
DWARF.h gdb-index: Wire up str_offsets section to avoid incorrect error message about offsets_base 2019-08-07 22:49:14 +00:00
Driver.cpp Re-submit r367649: Improve raw_ostream so that you can "write" colors using operator<< 2019-08-07 08:08:17 +00:00
Driver.h [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
DriverUtils.cpp Re-submit r367649: Improve raw_ostream so that you can "write" colors using operator<< 2019-08-07 08:08:17 +00:00
EhFrame.cpp [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
EhFrame.h [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
ICF.cpp [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
ICF.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InputFiles.cpp [LLD] Migrate llvm::make_unique to std::make_unique 2019-08-14 22:28:17 +00:00
InputFiles.h [ELF] Fix variable names in comments after VariableName -> variableName change 2019-07-16 05:50:45 +00:00
InputSection.cpp [mips] Assign R_TLS type to the R_MIPS_TLS_TPREL_XXX relocations. NFC 2019-07-24 11:37:13 +00:00
InputSection.h [ELF] Fix variable names in comments after VariableName -> variableName change 2019-07-16 05:50:45 +00:00
LTO.cpp [LLD] Migrate llvm::make_unique to std::make_unique 2019-08-14 22:28:17 +00:00
LTO.h [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
LinkerScript.cpp Fix lld on GCC 5.1 after the C++14 move 2019-08-15 17:47:19 +00:00
LinkerScript.h [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
MapFile.cpp Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
MapFile.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MarkLive.cpp ELF: Move sections referred to by __start_/__stop_ symbols into the main partition. 2019-08-09 00:57:54 +00:00
MarkLive.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Options.td [lld] Add Visual Studio compatible diagnostics 2019-07-17 14:54:02 +00:00
OutputSections.cpp [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
OutputSections.h [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp [ELF] Don't special case symbolic relocations with 0 addend to ifunc in writable locations 2019-08-13 09:43:40 +00:00
Relocations.h [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
ScriptLexer.cpp [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
ScriptLexer.h [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
ScriptParser.cpp [ELF] Consistently prioritize non-* wildcards overs "*" in version scripts 2019-08-05 14:31:39 +00:00
ScriptParser.h [ELF] Fix variable names in comments after VariableName -> variableName change 2019-07-16 05:50:45 +00:00
SymbolTable.cpp [ELF] Initialize 2 fields of Symbol in SymbolTable::insert 2019-08-14 01:52:47 +00:00
SymbolTable.h [ELF] Rename odd variable names "New" after r365730. NFC 2019-08-13 06:19:39 +00:00
Symbols.cpp [ELF] Simplify handling of exportDynamic and isPreemptible 2019-08-13 09:12:52 +00:00
Symbols.h [ELF] Initialize 2 fields of Symbol in SymbolTable::insert 2019-08-14 01:52:47 +00:00
SyntheticSections.cpp [LLD] Migrate llvm::make_unique to std::make_unique 2019-08-14 22:28:17 +00:00
SyntheticSections.h [ELF] Fix variable names in comments after VariableName -> variableName change 2019-07-16 05:50:45 +00:00
Target.cpp [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
Target.h [ELF] Fix variable names in comments after VariableName -> variableName change 2019-07-16 05:50:45 +00:00
Thunks.cpp [ELF] Fix variable names in comments after VariableName -> variableName change 2019-07-16 05:50:45 +00:00
Thunks.h [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00
Writer.cpp [ELF] Don't special case symbolic relocations with 0 addend to ifunc in writable locations 2019-08-13 09:43:40 +00:00
Writer.h [Coding style change] Rename variables so that they start with a lowercase letter 2019-07-10 05:00:37 +00:00

README.md

See docs/NewLLD.rst