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

Anatoly Trosinenko via All-commits all-commits at lists.llvm.org
Mon Jul 13 15:07:33 PDT 2026


  Branch: refs/heads/users/atrosinenko/pauth-init-fini
  Home:   https://github.com/llvm/llvm-project
  Commit: 6271fd3e1d8270af988e992435147b08bc80fa6b
      https://github.com/llvm/llvm-project/commit/6271fd3e1d8270af988e992435147b08bc80fa6b
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-07-13 (Mon, 13 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 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

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

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, and the module
is allowed to have either none of these flags, only the first one,
or both. 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.


  Commit: 6976e7e9ef058aaca361efec3969409ec9d92803
      https://github.com/llvm/llvm-project/commit/6976e7e9ef058aaca361efec3969409ec9d92803
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  Improve readability


  Commit: 3dee3b5c54ce3f8ff1a5f5904ca3f1ee5ffd4bb7
      https://github.com/llvm/llvm-project/commit/3dee3b5c54ce3f8ff1a5f5904ca3f1ee5ffd4bb7
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/test/CodeGen/AArch64/ptrauth-init-fini-autoupgrade.ll

  Log Message:
  -----------
  Fix module flag name spelling in AutoUpgrade.cpp


  Commit: cd0c9846ba61e672ef4cda81c8ca83b3af126cbf
      https://github.com/llvm/llvm-project/commit/cd0c9846ba61e672ef4cda81c8ca83b3af126cbf
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.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/test/CodeGen/AArch64/ptrauth-init-fini-autoupgrade.ll
    M llvm/test/CodeGen/AArch64/ptrauth-init-fini.ll

  Log Message:
  -----------
  Switch to unconditionally-set module flags


  Commit: b07441fd51c6bbf35b68d7ee108eead38581197e
      https://github.com/llvm/llvm-project/commit/b07441fd51c6bbf35b68d7ee108eead38581197e
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/ptrauth-init-fini.c
    M clang/test/CodeGen/ptrauth-module-flags.c

  Log Message:
  -----------
  Post-rebase fixes


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

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/test/CodeGen/AArch64/ptrauth-init-fini.ll

  Log Message:
  -----------
  Address the review comments


Compare: https://github.com/llvm/llvm-project/compare/d0b4baee9400...b894eb932301

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