commit | b9afc8bb1bc263bc73929fa5018e483507e5359f | [log] [tgz] |
---|---|---|
author | Peter Smith <peter.smith@linaro.org> | Wed Jan 16 13:24:02 2019 +0000 |
committer | Peter Smith <peter.smith@linaro.org> | Wed Jan 16 13:24:02 2019 +0000 |
tree | 4da892222008e0e248deb142b4d631bde3d8f1e3 | |
parent | e003c8b62a6790826c13dbc11ce1fd510d34688b [diff] |
[ELF][AArch64] Add R_AARCH64_PLT_PAGE_PC to isRelExpr As a follow on to D56666 (r351186) there is a case when taking the address of an ifunc when linking -pie that can generate a spurious can't create dynamic relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol in readonly segment. Specifically the case is where the ifunc is in the same translation unit as the address taker, so given -fpie the compiler knows the ifunc is defined in the executable so it can use a non-got-generating relocation. The error message is due to R_AARCH64_PLT_PAGE_PC not being added to isRelExpr, its non PLT equivalent R_AARCH64_PAGE_PC is already in isRelExpr. Differential Revision: https://reviews.llvm.org/D56724 git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@351335 91177308-0d34-0410-b5e6-96231b3b80d8
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.
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.