[DynInst_API:] [dyninst/dyninst] e741c0: Fix PowerPC branch instruction semantics (#1929)


Date: Wed, 02 Apr 2025 10:39:42 -0700
From: Tim Haines <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] e741c0: Fix PowerPC branch instruction semantics (#1929)
  Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: e741c0c5127b5155a2777a55852bc0fb084ab936
      https://github.com/dyninst/dyninst/commit/e741c0c5127b5155a2777a55852bc0fb084ab936
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-04-02 (Wed, 02 Apr 2025)

  Changed paths:
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionDecoder-power.C
    M parseAPI/src/IA_power.C

  Log Message:
  -----------
  Fix PowerPC branch instruction semantics (#1929)

* Remove blr search in IA_power::isReturn

The instruction decoder now correctly detects subroutine returns based
on the bclr idiom described in the operand decoder there.

* Remove branch hint calculation for BO field

That formula only applies before version 2.0 of the ISA (~2003). We no
longer support anything before Power8 (v2.07), so this is no longer
useful. The hint bits are still present, but there's no need to modify
the mnemonic to reflect that. This will get updated when migrating to
Capstone.

* Ensure branch instructions with BO read/write ctr

Previously, the operand was only added if the instruction wrote to ctr.



To unsubscribe from these emails, change your notification settings at https://github.com/dyninst/dyninst/settings/notifications
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] e741c0: Fix PowerPC branch instruction semantics (#1929), Tim Haines <=