hanchenye-llvm-project/lld/ELF
Peter Smith fe3015d164 [ELF][AArch64] Fix adrp to undefined weak reference.
In the ABI for the 64-bit Arm architecture the section on weak references
states:
During linking, the symbol value of an undefined weak reference is:
- Zero if the relocation type is absolute
- The address of the place if the relocation type is pc-relative.

The relocations associated with an ADRP are relative so we should resolve
the undefined weak reference to the place instead of 0. This matches GNU
ld.bfd behaviour.

fixes pr34928

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

llvm-svn: 349024
2018-12-13 11:13:01 +00:00
..
Arch Remove unreachable code. 2018-12-04 19:00:56 +00:00
AArch64ErrataFix.cpp [AArch64] Cortex-a53-843419 erratum should not apply to relaxed TLS. 2018-11-27 10:17:35 +00:00
AArch64ErrataFix.h Consistent (non) use of empty lines in include blocks 2018-02-20 21:53:18 +00:00
Bits.h
CMakeLists.txt Rename GdbIndex.{cpp,h} -> DWARF.{cpp,h}. 2018-09-14 23:51:05 +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 [ELF] - Implement -z nodefaultlib 2018-11-27 09:48:17 +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 [ELF] - Implement -z nodefaultlib 2018-11-27 09:48:17 +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
Filesystem.cpp s/LLVM_ON_WIN32/_WIN32/, lld 2018-04-10 13:15:21 +00:00
Filesystem.h
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 [ELF] - Do not crash when -r output uses linker script with `/DISCARD/` 2018-11-01 09:20:06 +00:00
InputFiles.h [ELF] Read the call graph profile from object files. 2018-10-02 00:17:15 +00:00
InputSection.cpp [ELF][AArch64] Fix adrp to undefined weak reference. 2018-12-13 11:13:01 +00:00
InputSection.h Do not use a hash table to uniquify mergeable strings. 2018-12-05 19:13:31 +00:00
LTO.cpp Set MAttrs in LTO mode 2018-11-01 20:02: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 Avoid unnecessary buffer allocation and memcpy for compressed sections. 2018-10-08 16:58:59 +00:00
MarkLive.h Consistent use of header file for ICF and MarkLive 2018-02-20 22:09:59 +00:00
Options.td [ELF] Add --{,no-}call-graph-profile-sort (enabled by default) 2018-10-25 23:15:23 +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 Simplify Symbol::getPltVA. 2018-11-28 17:42:59 +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
SymbolTable.cpp [ELF] - Make SymbolTable::addDefined return Defined. 2018-11-22 11:40:08 +00:00
SymbolTable.h [ELF] - Make SymbolTable::addDefined return Defined. 2018-11-22 11:40:08 +00:00
Symbols.cpp Simplify Symbol::getPltVA. 2018-11-28 17:42:59 +00:00
Symbols.h Simplify Symbol::getPltVA. 2018-11-28 17:42:59 +00:00
SyntheticSections.cpp [ELF] - Allow discarding .dynsym from the linker script. 2018-12-10 09:13:36 +00:00
SyntheticSections.h Simplify Symbol::getPltVA. 2018-11-28 17:42:59 +00:00
Target.cpp Use llvm_unreachable for unreachable code. 2018-11-01 20:08:29 +00:00
Target.h Simplify Symbol::getPltVA. 2018-11-28 17:42:59 +00:00
Thunks.cpp [PPC64] Long branch thunks. 2018-11-14 17:56:43 +00:00
Thunks.h ELF: Allow thunks to change size. NFCI. 2018-03-29 22:32:13 +00:00
Writer.cpp [LLD][ELF] - Support discarding the .dynamic section. 2018-12-10 09:24:49 +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