[all-commits] [llvm/llvm-project] 182e6c: [BOLT] Gadget scanner: add less strict version of ...

Anatoly Trosinenko via All-commits all-commits at lists.llvm.org
Wed May 6 13:02:06 PDT 2026


  Branch: refs/heads/users/atrosinenko/bolt-gs-lightweight-tail-call-check
  Home:   https://github.com/llvm/llvm-project
  Commit: 182e6c4440f0eae48356d531418e360f4d025534
      https://github.com/llvm/llvm-project/commit/182e6c4440f0eae48356d531418e360f4d025534
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-05-06 (Wed, 06 May 2026)

  Changed paths:
    M bolt/docs/BinaryAnalysis.md
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Passes/PAuthGadgetScanner.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/binary-analysis/AArch64/cmdline-args.test
    M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
    M bolt/test/binary-analysis/AArch64/gs-pauth-scanners.s
    M bolt/test/binary-analysis/AArch64/gs-pauth-tail-calls.s

  Log Message:
  -----------
  [BOLT] Gadget scanner: add less strict version of tail call checker

During tail call, it may be worth making sure the link register is as
trusted as during a regular call, though it may require inserting
expensive checking code by the compiler.

On the other hand, with pac-ret hardening enabled, there should be no
reason not to protect tail-calling functions at least as well as those
exited via regular return instruction.

This commit splits tail call checker into two versions: the basic one
which is suitable to make sure regular `PAC*` + `AUT*` are emitted as
needed, and the strict one, that additionally ensures the authentication
(if any) succeeded.


  Commit: 935f43bd369090392b1a126c9b21ded2d06d7c39
      https://github.com/llvm/llvm-project/commit/935f43bd369090392b1a126c9b21ded2d06d7c39
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-05-06 (Wed, 06 May 2026)

  Changed paths:
    M bolt/test/binary-analysis/AArch64/gs-pauth-tail-calls.s

  Log Message:
  -----------
  gs-pauth-tail-calls.s: make check lines exhaustive; rename FPAC/NOFPAC


Compare: https://github.com/llvm/llvm-project/compare/3f8d89971152...935f43bd3690

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