[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