[all-commits] [llvm/llvm-project] ef9dc5: [obj2yaml][yaml2obj] - Add AArch64 STO_AARCH64_VAR...

Adhemerval Zanella via All-commits all-commits at lists.llvm.org
Thu Dec 17 06:34:42 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ef9dc51cd4af509e7c28573e15e13a98b17c9511
      https://github.com/llvm/llvm-project/commit/ef9dc51cd4af509e7c28573e15e13a98b17c9511
  Author: Adhemerval Zanella <adhemerval.zanella at linaro.org>
  Date:   2020-12-17 (Thu, 17 Dec 2020)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    A llvm/test/tools/obj2yaml/ELF/aarch64-sym-other.yaml

  Log Message:
  -----------
  [obj2yaml][yaml2obj] - Add AArch64 STO_AARCH64_VARIANT_PCS support

Reviewed By: grimar, MaskRay

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


  Commit: e04dc5f557c585f19d5abc73d1e71af81e8d5243
      https://github.com/llvm/llvm-project/commit/e04dc5f557c585f19d5abc73d1e71af81e8d5243
  Author: Adhemerval Zanella <adhemerval.zanella at linaro.org>
  Date:   2020-12-17 (Thu, 17 Dec 2020)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DynamicTags.def
    A llvm/test/tools/llvm-readobj/ELF/aarch64-symbols-stother.test
    M llvm/test/tools/llvm-readobj/ELF/dynamic-tags-machine-specific.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj/elf] - AArch64: Handle AARCH64_VARIANT_PCS for GNUStyle

It mimics the GNU readelf where it prints a [VARIANT_PCS] for symbols
with st_other with STO_AARCH64_VARIANT_PCS.

Reviewed By: grimar, MaskRay

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


  Commit: 978eb3b87bca0837d52d096c343fc70b06d9a04d
      https://github.com/llvm/llvm-project/commit/978eb3b87bca0837d52d096c343fc70b06d9a04d
  Author: Adhemerval Zanella <adhemerval.zanella at linaro.org>
  Date:   2020-12-17 (Thu, 17 Dec 2020)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    A lld/test/ELF/aarch64-variant_pcs.s

  Log Message:
  -----------
  [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


Compare: https://github.com/llvm/llvm-project/compare/64badecd447f...978eb3b87bca


More information about the All-commits mailing list