[all-commits] [llvm/llvm-project] a432f1: [JITLink][arm64] Support arm64e JIT'd code (initia...

Lang Hames via All-commits all-commits at lists.llvm.org
Wed Nov 20 20:01:34 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a432f11a52dd5ec21a3438bdaa8f623e32a3234c
      https://github.com/llvm/llvm-project/commit/a432f11a52dd5ec21a3438bdaa8f623e32a3234c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth-globals.s

  Log Message:
  -----------
  [JITLink][arm64] Support arm64e JIT'd code (initially enabled for MachO only).

Adds two new JITLink passes to create and populate a pointer-signing function
that can be called via an allocation-action attached to the LinkGraph:

* createEmptyPointerSigningFunction creates a pointer signing function in a
custome section, reserving sufficient space for the signing code. It should
be run as a post-prune pass (to ensure that memory is reserved prior to
allocation).
* lowerPointer64AuthEdgesToSigningFunction pass populates the signing function
by walking the graph, decoding the ptrauth info (encoded in the edge addend) and
writing an instruction sequence to sign all ptrauth fixup locations.

rdar://61956998



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list