llvm-project/lld/ELF
Peter Smith 97c6d78f3e [ELF] Add support for thunks to undefined non-weak symbols
In a shared library an undefined symbol is implicitly imported. If the
symbol is called as a function a PLT entry is generated for it. When the
caller is a Thumb b.w a thunk to the PLT entry is needed as all PLT
entries are in ARM state.
    
This change allows undefined symbols to have thunks in the same way that
shared symbols may have thunks.

llvm-svn: 290951
2017-01-04 09:45:45 +00:00
..
CMakeLists.txt Remove lld/Support/Memory.h. 2016-12-18 14:06:06 +00:00
Config.h Simplify type of Config->SymbolOrderingFile. 2016-12-20 01:51:08 +00:00
Driver.cpp Remove Driver::OwningMB and instead use make(). 2016-12-23 03:19:09 +00:00
Driver.h Remove Driver::OwningMB and instead use make(). 2016-12-23 03:19:09 +00:00
DriverUtils.cpp Make -color-diagnostics an alias to -color-diagnostics=always. 2016-12-22 08:20:28 +00:00
EhFrame.cpp Move getLocation from Relocations.cpp to InputSection.cpp. 2016-11-25 18:51:53 +00:00
EhFrame.h [ELF] Print error location in .eh_frame parser 2016-11-23 09:45:17 +00:00
Error.cpp Make getColorDiagnostics return a boolean value instead of an enum. 2016-11-26 15:10:01 +00:00
Error.h Update comment. 2016-11-24 01:44:21 +00:00
GdbIndex.cpp [ELF] - Return file offset as address only for allocatable sections when building .gdb_index 2016-12-23 07:51:59 +00:00
GdbIndex.h [ELF] - Partial support of --gdb-index command line option (Part 3). 2016-12-15 12:07:53 +00:00
ICF.cpp Use "equivalence class" instead of "color" to describe the concept in ICF. 2016-12-05 18:11:35 +00:00
ICF.h Do not pass Symtab to markLive/doICF since Symtab is globally accessible. 2016-05-02 19:30:42 +00:00
InputFiles.cpp [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
InputFiles.h Move typedefs inside a class definition. 2016-11-25 18:51:56 +00:00
InputSection.cpp Remove `Compressed` member from InputSectionData. 2016-12-20 05:47:55 +00:00
InputSection.h Remove `Compressed` member from InputSectionData. 2016-12-20 05:47:55 +00:00
LTO.cpp [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
LTO.h [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
LinkerScript.cpp Remove Driver::OwningMB and instead use make(). 2016-12-23 03:19:09 +00:00
LinkerScript.h [ELF] Linkerscript: print location of undefined symbol usage 2016-12-22 13:13:12 +00:00
MarkLive.cpp Parse relocations only once. 2016-11-10 14:53:24 +00:00
Memory.h Remove lld/Support/Memory.h. 2016-12-18 14:06:06 +00:00
Mips.cpp [ELF][MIPS] N32 ABI support 2016-11-05 22:58:01 +00:00
Options.td Make -color-diagnostics an alias to -color-diagnostics=always. 2016-12-22 08:20:28 +00:00
OutputSections.cpp Simplify type of Config->SymbolOrderingFile. 2016-12-20 01:51:08 +00:00
OutputSections.h Simplify type of Config->SymbolOrderingFile. 2016-12-20 01:51:08 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Relocations.cpp Use existing variable. NFC. 2016-12-19 16:50:20 +00:00
Relocations.h Fix compiler warning. 2016-12-16 23:12:58 +00:00
ScriptParser.cpp Simplify ScriptParser. 2016-12-01 04:36:54 +00:00
ScriptParser.h Simplify ScriptParser. 2016-12-01 04:36:54 +00:00
Strings.cpp Use ArrayRef instead of `const std::vector`. 2016-12-20 23:17:00 +00:00
Strings.h Use ArrayRef instead of `const std::vector`. 2016-12-20 23:17:00 +00:00
SymbolTable.cpp [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
SymbolTable.h Define a getter function for a lazily-created object. 2016-12-22 05:31:52 +00:00
Symbols.cpp [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
Symbols.h [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
SyntheticSections.cpp De-template DefinedSynthetic. 2016-12-21 08:40:09 +00:00
SyntheticSections.h [ELF] - Partial support of --gdb-index command line option (Part 3). 2016-12-15 12:07:53 +00:00
Target.cpp [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
Target.h [ELF][I386] .got.plt entries for i386 should use VA of ifunc resolver 2016-12-09 09:59:54 +00:00
Threads.h Update comment to clarify the machine spec. 2016-12-04 02:34:29 +00:00
Thunks.cpp [ELF] Add support for thunks to undefined non-weak symbols 2017-01-04 09:45:45 +00:00
Thunks.h Attempt to fix buildbots. 2016-07-09 23:02:37 +00:00
Writer.cpp ELF: Simplify; addOptionalSynthetic() does not need to return a value. NFC. 2017-01-04 02:43:01 +00:00
Writer.h Move a function defintion to make it static. 2016-12-21 00:05:39 +00:00

README.md

See docs/NewLLD.rst