[all-commits] [llvm/llvm-project] 8b29c5: [JITLink] Move debugging output helper array into ...

Lang Hames via All-commits all-commits at lists.llvm.org
Mon Jan 27 19:58:28 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8b29c5ccddb87ac7336a700877dc08cdc57ac65b
      https://github.com/llvm/llvm-project/commit/8b29c5ccddb87ac7336a700877dc08cdc57ac65b
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp

  Log Message:
  -----------
  [JITLink] Move debugging output helper array into LLVM_DEBUG. NFC.

This doesn't need a separate guard.


  Commit: 79685b59b78804f99e46f12ac888edbc0a6d1472
      https://github.com/llvm/llvm-project/commit/79685b59b78804f99e46f12ac888edbc0a6d1472
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_dependencies.s

  Log Message:
  -----------
  [JITLink][aarch64] Fix dependence tracking for Pointer64Authenticated edges.

Transform Pointer64Authenticated edges into KeepAlive edges, rather than
removing them, in order to preserve symbol dependence information.

The lowerPointer64AuthEdgesToSigningFunction pass is responsible for
transforming Pointer64Authenticated edges to a signing function that can be run
in the executing process to initialize global PAC pointers. Removing the edges
entirely in this pass results in loss of dependence tracking, which can in turn
cause ORC to report PAC pointers as ready before the pointers targets have
completed materialization (resulting in a use-before-finalize error, often
manifesting as access to uninitialized / unprotected memory).

This commit addresses the issue by leaving the edges in the graph and simply
changing their kind to KeepAlive, a no-op for fixup purposes but followed for
dependence tracking purposes.


Compare: https://github.com/llvm/llvm-project/compare/6e4105574ebb...79685b59b788

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