[all-commits] [llvm/llvm-project] b53146: [AArch64][PAC] Handle signing of init/fini pointer...

Anatoly Trosinenko via All-commits all-commits at lists.llvm.org
Mon Jul 13 17:02:16 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b5314610b4f318a3986069f3abc65eb6cf3a86fe
      https://github.com/llvm/llvm-project/commit/b5314610b4f318a3986069f3abc65eb6cf3a86fe
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/PointerAuthOptions.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/ptrauth-init-fini.c
    M clang/test/CodeGen/ptrauth-module-flags.c
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.h
    A llvm/test/CodeGen/AArch64/ptrauth-init-fini-autoupgrade.ll
    M llvm/test/CodeGen/AArch64/ptrauth-init-fini.ll

  Log Message:
  -----------
  [AArch64][PAC] Handle signing of init/fini pointers in AsmPrinter (#193087)

Move signing of the contents of `@llvm.global_(ctors|dtors)` from Clang
frontend to the AsmPrinter at the end of the backend pipeline.

Signing of the pointers to init/fini functions in the backend fixes
registration of the constructors and destructors performed by the
optimizer or the backend.

This commit introduces two new module flags, `ptrauth-init-fini` and
`ptrauth-init-fini-address-discrimination`, mirroring corresponding
Clang options. The flags are semantically boolean, an absent flag is
treated as having the `false` value and the latter flag requires the
former one. The particular constant discriminator to use is not
configurable via module flags and is hardcoded to the value 0xD9D4 in
the `llvm/lib/Target/AArch64/AArch64PointerAuth.h` file.



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