[all-commits] [llvm/llvm-project] ce4bb0: [KCFI] Fix hash offset calculation in Thumb mode

Sami Tolvanen via All-commits all-commits at lists.llvm.org
Mon Jun 12 12:44:36 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ce4bb083c043d42474cd071bd5149dc5fd4430f6
      https://github.com/llvm/llvm-project/commit/ce4bb083c043d42474cd071bd5149dc5fd4430f6
  Author: Sami Tolvanen <samitolvanen at google.com>
  Date:   2023-06-12 (Mon, 12 Jun 2023)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/KCFI.cpp
    M llvm/test/Transforms/KCFI/kcfi.ll

  Log Message:
  -----------
  [KCFI] Fix hash offset calculation in Thumb mode

ARM stores the Thumb state in the least significant bit of the
function pointers. When compiling for ARM or Thumb, as all
instructions are at least 16-bit aligned, ignore the LSB when
computing the prefix hash location, so we can support both
pure Thumb and mixed ARM/Thumb binaries.

Fixes #62936

Reviewed By: MaskRay, simon_tatham

Differential Revision: https://reviews.llvm.org/D152484




More information about the All-commits mailing list