[PATCH] D93045: [ELF] AArch64: Handle DT_AARCH64_VARIANT_PCS

Adhemerval Zanella via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 10 08:39:48 PST 2020


zatrazz created this revision.
zatrazz added reviewers: grimar, ruiu, MaskRay, psmith.
Herald added subscribers: danielkiss, kristof.beyls, arichardson, emaste.
Herald added a reviewer: espindola.
zatrazz requested review of this revision.
Herald added a project: LLVM.

As indicated by AArch64 ELF specification, symbols with st_other
marked with STO_AARCH64_VARIANT_PCS indicates a 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 fixes https://bugs.llvm.org/show_bug.cgi?id=48368.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D93045

Files:
  lld/ELF/SyntheticSections.cpp
  lld/ELF/SyntheticSections.h
  lld/test/ELF/aarch64-variant_pcs-not-required.s
  lld/test/ELF/aarch64-variant_pcs.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93045.310916.patch
Type: text/x-patch
Size: 8279 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201210/e4119b6f/attachment.bin>


More information about the llvm-commits mailing list