[all-commits] [llvm/llvm-project] 4dd899: [BOLT] Gadget scanner: refine class names and debu...

Anatoly Trosinenko via All-commits all-commits at lists.llvm.org
Wed Apr 9 12:40:32 PDT 2025


  Branch: refs/heads/users/atrosinenko/bolt-gs-rename-classes-nfc
  Home:   https://github.com/llvm/llvm-project
  Commit: 4dd89907fdf06e4e385c43b5cdbdebf4aee80b90
      https://github.com/llvm/llvm-project/commit/4dd89907fdf06e4e385c43b5cdbdebf4aee80b90
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M bolt/include/bolt/Passes/PAuthGadgetScanner.h
    M bolt/lib/Passes/PAuthGadgetScanner.cpp
    M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s

  Log Message:
  -----------
  [BOLT] Gadget scanner: refine class names and debug output (NFC)

Scanning functions without CFG information as well as the detection of
authentication oracles requires introducing more classes related to
register state analysis. To make the future code easier to understand,
rename several classes beforehand.

To detect authentication oracles, one has to query the properties of
*output* operands of authentication instructions *after* the instruction
is executed - this requires adding another analysis that iterates over
the instructions in reverse order, and a corresponding state class.

As the main difference of the existing `State` class is that it stores
the properties of source register operands of the instructions before
the instruction's execution, rename it to `SrcState` and
`PacRetAnalysis` to `SrcSafetyAnalysis`.

Apply minor adjustments to the debug output along the way.



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