[all-commits] [llvm/llvm-project] e1328f: [BOLT] Gadget scanner: clarify MCPlusBuilder callb...

Anatoly Trosinenko via All-commits all-commits at lists.llvm.org
Mon May 26 08:31:41 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e1328fd9adf534af7615308455d608ef76a7541f
      https://github.com/llvm/llvm-project/commit/e1328fd9adf534af7615308455d608ef76a7541f
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2025-05-26 (Mon, 26 May 2025)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Passes/PAuthGadgetScanner.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
    M bolt/test/binary-analysis/AArch64/gs-pauth-signing-oracles.s

  Log Message:
  -----------
  [BOLT] Gadget scanner: clarify MCPlusBuilder callbacks interface (#136147)

Clarify the semantics of `getAuthenticatedReg` and remove a redundant
`isAuthenticationOfReg` method, as combined auth+something instructions
(such as `retaa` on AArch64) should be handled carefully, especially
when searching for authentication oracles: usually, such instructions
cannot be authentication oracles and only some of them actually write an
authenticated pointer to a register (such as "ldra x0, [x1]!").

Use `std::optional<MCPhysReg>` returned type instead of plain MCPhysReg
and returning `getNoRegister()` as a "not applicable" indication.

Document a few existing methods, add information about preconditions.



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