diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2016-02-23 16:54:40 +0000 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2016-02-23 16:54:40 +0000 |
commit | 668ad0ffcb49ec04beede54d07652f4dc538fd0f (patch) | |
tree | abc79bfba492afce818c9722675bf7e823ebc515 /clang/lib/Frontend/ModuleDependencyCollector.cpp | |
parent | a1c6269c91a0946d9a7314944dedecf26c0a594e (diff) | |
download | llvm-668ad0ffcb49ec04beede54d07652f4dc538fd0f.zip llvm-668ad0ffcb49ec04beede54d07652f4dc538fd0f.tar.gz llvm-668ad0ffcb49ec04beede54d07652f4dc538fd0f.tar.bz2 |
[lld] [ELF/AArch64] Fix R_AARCH64_ABS64 in Shared mode
This patch fixes the R_AARCH64_ABS64 relocation when used in shared mode,
where it requires a dynamic R_AARCH64_RELATIVE relocation. To correct set
the addend on the dynamic relocation (since it will be used by the dynamic
linker), a new TargetInfo specific hook was created (getDynRelativeAddend)
to get the correct addend based on relocation type.
The patch fixes the issues when creating shared library code against
{init,fini}_array, where it issues R_AARCH64_ABS64 relocation against
local symbols.
llvm-svn: 261651
Diffstat (limited to 'clang/lib/Frontend/ModuleDependencyCollector.cpp')
0 files changed, 0 insertions, 0 deletions