diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-12-10 14:06:49 +0000 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-12-17 11:09:55 -0300 |
commit | 978eb3b87bca0837d52d096c343fc70b06d9a04d (patch) | |
tree | b3dbb6ce48a0f05172ab251c7476f81dea1b9be8 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | e04dc5f557c585f19d5abc73d1e71af81e8d5243 (diff) | |
download | llvm-978eb3b87bca0837d52d096c343fc70b06d9a04d.zip llvm-978eb3b87bca0837d52d096c343fc70b06d9a04d.tar.gz llvm-978eb3b87bca0837d52d096c343fc70b06d9a04d.tar.bz2 |
[lld] [ELF] AArch64: Handle DT_AARCH64_VARIANT_PCS
As indicated by AArch64 ELF specification, symbols with st_other
marked with STO_AARCH64_VARIANT_PCS indicates it may follow a variant
procedure call standard with different register usage convention
(for instance SVE calls).
Static linkers must preserve the marking and propagate it to the dynamic
symbol table if any reference or definition of the symbol is marked with
STO_AARCH64_VARIANT_PCS, and add a DT_AARCH64_VARIANT_PCS dynamic tag if
there are R_<CLS>_JUMP_SLOT relocations that reference that symbols.
It implements https://bugs.llvm.org/show_bug.cgi?id=48368.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D93045
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions