[DynInst_API:] [dyninst/dyninst] 0fd222: Prevent Transitive Edge Removal


Date: Fri, 23 Jan 2026 11:25:39 -0800
From: bbiiggppiigg <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 0fd222: Prevent Transitive Edge Removal
  Branch: refs/heads/bbiiggppiigg/prevent-transitive-removal
  Home:   https://github.com/dyninst/dyninst
  Commit: 0fd22202e9abb4d539e766f444eb2ff5392b056c
      https://github.com/dyninst/dyninst/commit/0fd22202e9abb4d539e766f444eb2ff5392b056c
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2026-01-23 (Fri, 23 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: 4dbfa64bd3a28b82c9e9b560a5828a192c8e024d
      https://github.com/dyninst/dyninst/commit/4dbfa64bd3a28b82c9e9b560a5828a192c8e024d
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2026-01-23 (Fri, 23 Jan 2026)

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

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


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

  Changed paths:
    M parseAPI/src/Parser.C

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

This reverts commit ffa25ae65835a191198311627de4fddfa4fae881.


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

  Changed paths:
    M parseAPI/src/Parser.C

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


Compare: https://github.com/dyninst/dyninst/compare/c493bf80923a...71a5591eb93e

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