[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