[DynInst_API:] [dyninst/dyninst] 68ccaa: Prevent Transitive Edge Removal


Date: Wed, 28 Jan 2026 23:01:57 -0800
From: bbiiggppiigg <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 68ccaa: Prevent Transitive Edge Removal
  Branch: refs/heads/bbiiggppiigg/prevent-transitive-removal
  Home:   https://github.com/dyninst/dyninst
  Commit: 68ccaa809486263f8837d1b9465a6482680aa448
      https://github.com/dyninst/dyninst/commit/68ccaa809486263f8837d1b9465a6482680aa448
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2026-01-29 (Thu, 29 Jan 2026)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Prevent Transitive Edge Removal

When a basic block is pointed by more than one jump table entry,
Dyninst considers one of the jump table entry overrun and trim
the edge from the jump table, and transitively remove the
outgoing edge of the shared block. This behavior causes inconsistent
view of CFG between patchAPI and parseAPI, where a relocation block
ending with a control flow widget can have no control flow edge
because they are removed.

This PR prevents this transitive edge removal behavior.


  Commit: 267711290ba67f72fc59aeec9f23e145320a1571
      https://github.com/dyninst/dyninst/commit/267711290ba67f72fc59aeec9f23e145320a1571
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2026-01-29 (Thu, 29 Jan 2026)

  Changed paths:
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  Rename to delete_bogus_edges


  Commit: fef629938b5e9c50a83a1dbefa33bbd41e3c1999
      https://github.com/dyninst/dyninst/commit/fef629938b5e9c50a83a1dbefa33bbd41e3c1999
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2026-01-29 (Thu, 29 Jan 2026)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Revert "Prevent Transitive Edge Removal"

This reverts commit ffa25ae65835a191198311627de4fddfa4fae881.


  Commit: efd651cec27ec4c601fa2d325094fad99d8d5964
      https://github.com/dyninst/dyninst/commit/efd651cec27ec4c601fa2d325094fad99d8d5964
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2026-01-29 (Thu, 29 Jan 2026)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Check all incoming edge before transitive removal


  Commit: ad8849de2327a0669c602defb6cb1b8f0e8edf73
      https://github.com/dyninst/dyninst/commit/ad8849de2327a0669c602defb6cb1b8f0e8edf73
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2026-01-29 (Thu, 29 Jan 2026)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Replace check


  Commit: 71f2829f10a948c1a395a346799a7d5707d442ed
      https://github.com/dyninst/dyninst/commit/71f2829f10a948c1a395a346799a7d5707d442ed
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2026-01-29 (Thu, 29 Jan 2026)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  actual compilable fix


Compare: https://github.com/dyninst/dyninst/compare/3d635ccfbbf9...71f2829f10a9

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] 68ccaa: Prevent Transitive Edge Removal, bbiiggppiigg <=