hanchenye-llvm-project/lld
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
..
COFF [PDB] Move some code around. NFC. 2018-12-06 17:49:15 +00:00
Common Set MAttrs in LTO mode 2018-11-01 20:02:49 +00:00
ELF [ELF][AArch64] Fix adrp to undefined weak reference. 2018-12-13 11:13:01 +00:00
MinGW [MinGW] Pass libpath to the COFF linker 2018-10-10 09:00:03 +00:00
cmake/modules
docs [WebAssembly] Update docs 2018-11-29 02:55:25 +00:00
include/lld [WebAssembly] Add support for the event section 2018-12-08 06:17:43 +00:00
lib Fix clang -Wimplicit-fallthrough warnings across llvm, NFC 2018-11-01 19:54:45 +00:00
test [ELF][AArch64] Fix adrp to undefined weak reference. 2018-12-13 11:13:01 +00:00
tools/lld Fix typo in error message. NFC. 2018-09-13 15:37:13 +00:00
unittests
utils
wasm [WebAssembly] Add "needed" list to dylink section 2018-12-12 23:44:59 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
LICENSE.TXT
README.md

README.md

LLVM Linker (lld)

This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.

lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.

Benchmarking

In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.

It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz

The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f.