Merging r351335: --------------------------------------------------------------…

Authored by hansw on Jan 17 2019, 5:47 AM.

Unpublished Commit · Learn More

Repository Importing: This repository is still importing.


Merging r351335: ------------------------------------------------------------------------ r351335 | psmith | 2019-01-16 14:24:02 +0100 (Wed, 16 Jan 2019) | 17 lines

[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

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

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

llvm-svn: 351446