Branch: refs/heads/angushe/riscv-parse-dataflow
  Home:   https://github.com/dyninst/dyninst
  Commit: 7ecc09d28e26c010cfe378e9e0cd9c42a8072176
      
https://github.com/dyninst/dyninst/commit/7ecc09d28e26c010cfe378e9e0cd9c42a8072176
  Author: Ronak Chauhan <[email protected]>
  Date:   2026-01-26 (Mon, 26 Jan 2026)

  Changed paths:
    M dyninstAPI/src/AmdgpuKernelDescriptor.C
    M dyninstAPI/src/AmdgpuPointHandler.C
    M dyninstAPI/src/AmdgpuPointHandler.h

  Log Message:
  -----------
  [AMDGPU] Update the kernel descriptor at instrumentation time (#2110)


  Commit: c856fbf5060f50cec84d8dbca19f740581b13491
      
https://github.com/dyninst/dyninst/commit/c856fbf5060f50cec84d8dbca19f740581b13491
  Author: Tim Haines <[email protected]>
  Date:   2026-01-28 (Wed, 28 Jan 2026)

  Changed paths:
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/src/BPatch_addressSpace.C
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/IAPI_to_AST.C
    A dyninstAPI/src/OperandType.h
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    M dyninstAPI/src/baseTramp.C
    M dyninstAPI/src/baseTramp.h
    M dyninstAPI/src/codegen.h
    M dyninstAPI/src/dynProcess.C
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/inst.h
    M dyninstAPI/src/linux-x86.C
    M dyninstAPI/src/opcode.h
    A dyninstAPI/src/regTracker.C
    A dyninstAPI/src/regTracker.h
    M dyninstAPI/src/registerSpace.h
    M dyninstAPI/src/syscallNotification.C

  Log Message:
  -----------
  Clean up dyninstAPI AstNode classes (#2114)

* Remove deepCopy

It was added by 21d1427b9 in 2010, but never used.

* Remove Dyn_C error reporting variables

These were only used in the deepCopy member functions.

* Remove nodeType

Its usage was removed by 20116a1026 in 2006

* Remove cleanRegTracker

This was added by 123a8c7f31 in 2010, but never implemented.

* Move cfjRet_t into baseTramp

This is the only place it's used.

* Remove dataReqNode declaration

It's never used.

* Extract regTracker_t

I'm suspicious of the gymanastics in AstNode::generateCode, but
I'll leave it as-is for now.

* Remove 'void' parameter

This isn't legal c++.

* Remove checkUseCount

Its usage was removed by 123a8c7f in 2006.

* Remove printUserCount

Its usage was removed by 123a8c7f3 in 2006.

* Remove AstNode::getArgs

It was added by 21d1427b9 in 2010, but never used.

* Remove setChildren

Added by 48fb32bc23 in 2010
Used in AST::Ptr AST::substitute(AST::Ptr in, AST::Ptr a, AST::Ptr b)

Usage removed by 807e320e334c in 2010.

Current implementation was added by 21d1427b92be10 in 2010, but no call
to it was added.

* Provide a default for canBeKept

* Remove stealRegister

It was added by 0380c4db951 in 2006, but never implemented.

* Remove subpath

Its usage and definition were removed by 123a8c7f31 in 2006.

* Move children into AstNode

This simplifies the implementations.

* Remove AstNode(AstNodePtr)

Its original implementation 'AstNode(AstNode *src)' was removed by
5dabf3ca8b1 in 2006. The interface was changed to its current form by
e7c183b934 in 2007, but was never re-implemented.

* Remove AstNode::getTreeSize

It was added by 97dc86ee3f0 in 2006, but never used.

* Remove accessesParam

Its usage was removed by 47c4dfe96 in 2010.

* Provide default for containsFuncCall

For AstCallNode, this is only safe because its child nodes are
only added to AstNode::children in the AstCallNode ctor if they exist.

* Provide a default for setVariableAST

For AstOperatorNode, AstOperandNode, AstCallNode, and AstSequenceNode,
this is only safe because its child nodes are only added to
AstNode::children in their respecitive ctor if the children exist.

* Provide a default for usesAppRegister

* Require generateCode_phase2

All of the ASTs already implement it. This also converts the runtime check
into a compile-time one.

* AstNode: use in-class member initializers

* AstNode: use default dtor

* AstNode: inline getType

* Remove AstNode::labelNode(std::string)

This should have been removed by eac8cf2c8.

* Extract operandType

This centralizes the type and its functions and will help with
possibly refactoring the operand-specific methods out of AstNode
some day.

* Remove operandType::DataReg

Its only usage was in BPatch_regExpr that was was deprecated by 4d15de8
in 2008 and removed by f4ee3410b in 2020.

* Use simpler, faster isPowerOf2 in ast.C

* Move isPowerOf2(int,int&) into inst.h

This is the only place it's used now.

* Extract AstNode::format(opCode) into opcode.h

* Remove unneeded include of 'opcode.h'

* Move declaration of emitLoadPreviousStackFrameRegister to registerSpace

This is the only place it's used.

* Remove SCAST_AST macro

It's no longer used.

* Move DCAST_AST to baseTramp.C

That's the only place it's used.

* Clean up comments

* Clean up includes

* Update include guard name in ast.h

* Remove reference-counting in AstNode

1. referenceCount is never directly checked, only modified
2. decRefCount _always_ returns true
3. Callsites for decRefCount only check if it returns true

These combined mean that modifying referenceCount has no observable
side effect.

* Remove unused 'breakOp' operator type

It was added by 0a3392d0e in 2009, but never implemented.

* Remove unused 'doOp' operatory type

It was added by ccc39c2b2 in 1998, but never implemented.

* Remove unused 'funcCallOp' operator type

It was added by 6616f912a in 2009 and removed by 73039f3d931 in 2011.

* Remove unused 'getSysParamOp' operator type

It was added by 0aa3b67be in 1996 for SunOS and
the last vestiges were removed by dee8900 in
2011.

* Remove unused 'getSysRetValOp' operator type

It was added by d2d5831e7 in 1996 for SunOS and
the last vestiges were removed by dee8900 in
2011.

* Remove unused 'loadStateOp','storeStateOp' operator types

They were added by 18ab46621 in 2006 but never implemented.

* Remove unused 'trampPreamble' operator type

Its last usage as an operation was removed by 123a8c7 in 2006.

* Remove unused 'updateCostOp' operator type

Its last usage as an operation was removed by cb0b86cc in 2006.

* Remove unused variable in AstVariableNode ctor


  Commit: e0578996978f63b945299dbc5d261762c058813a
      
https://github.com/dyninst/dyninst/commit/e0578996978f63b945299dbc5d261762c058813a
  Author: Tim Haines <[email protected]>
  Date:   2026-01-28 (Wed, 28 Jan 2026)

  Changed paths:
    M dyninstAPI/src/function.h
    M dyninstAPI/src/inst-x86.C

  Log Message:
  -----------
  Remove unused func_instance::setReturnValue(int) (#2122)

Its usage was removed by 7a737b6a09 in 2010.


  Commit: b03c3fac0464454ae146334bee00df2cf4490a55
      
https://github.com/dyninst/dyninst/commit/b03c3fac0464454ae146334bee00df2cf4490a55
  Author: Tim Haines <[email protected]>
  Date:   2026-01-29 (Thu, 29 Jan 2026)

  Changed paths:
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/registerSpace.C
    M dyninstAPI/src/registerSpace.h

  Log Message:
  -----------
  Remove i386 MMX detection for instrumentation (#2121)

This wouldn't compile for 32-bit Linux because 'xmmCapable' calls
'cpuidCall' which is only compiled on Windows. The Win64 version reads
off the end of 'result', so that likely never worked. At this point, I'm
quite confident that anyone rewriting Win32 binaries is likely doing so
on i386 that supports MMX. This wouldn't work on non-x86 Win32 platforms
because of the inline assembly.


  Commit: edbae4324aed40d966b0406ed625be36e365bd15
      
https://github.com/dyninst/dyninst/commit/edbae4324aed40d966b0406ed625be36e365bd15
  Author: bbiiggppiigg <[email protected]>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/src/Block.C

  Log Message:
  -----------
  Fix Block::remove_source/target and == operators (#2123)

Fix the == operator for parseAPI::Block and Edge.

Make sure remove_source/remove_target remove potentially
duplicated edges.


  Commit: 5d4cd492383f3825257ad1f8145e839fb5667c8a
      
https://github.com/dyninst/dyninst/commit/5d4cd492383f3825257ad1f8145e839fb5667c8a
  Author: bbiiggppiigg <[email protected]>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElf.h

  Log Message:
  -----------
  Remove unused variables in emitElf (#2126)

* Remove BSSExpandFlag which is always false

* Remove replaceNOTE which is always false

* Remove createNewPhdr which is always true

* simplify if-elseif-else logic

* Remove exceptions that were never checked

* Remove unused dynsym_info

* Remove unused oldIndexMapping

* Remove C-style string casting

* Remove unused parameter from function declaration


  Commit: 6cab64c46b2d81236540d7bd7ea420458d4aa82e
      
https://github.com/dyninst/dyninst/commit/6cab64c46b2d81236540d7bd7ea420458d4aa82e
  Author: Tim Haines <[email protected]>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

  Changed paths:
    M dyninstAPI/CMakeLists.txt
    R dyninstAPI/src/cpuid-x86.S
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/inst-x86.h

  Log Message:
  -----------
  Remove unused cpuid/xmm functions (#2127)

These should have been removed by b03c3fac04.


  Commit: 19d9920b3452e410c04f672843fa3ca9f8e8fa7c
      
https://github.com/dyninst/dyninst/commit/19d9920b3452e410c04f672843fa3ca9f8e8fa7c
  Author: bbiiggppiigg <[email protected]>
  Date:   2026-01-30 (Fri, 30 Jan 2026)

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

  Log Message:
  -----------
  Prevent Transitive Edge Removal (#2087)

* 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 when at least one other 
edge is pointing at the block.


  Commit: 533855fd590bc9e36cb6d18f2c4faaa4f9179093
      
https://github.com/dyninst/dyninst/commit/533855fd590bc9e36cb6d18f2c4faaa4f9179093
  Author: Tim Haines <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/src/Relocation/Transformers/Instrumenter.C
    M dyninstAPI/src/Relocation/Widgets/InstWidget.C
    R dyninstAPI/src/baseTramp.C
    R dyninstAPI/src/baseTramp.h
    M dyninstAPI/src/codeRange.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/emit-amdgpu.h
    M dyninstAPI/src/emit-power.h
    M dyninstAPI/src/emit-x86.h
    M dyninstAPI/src/emitter.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-amdgpu.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/inst-power.h
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/inst.C
    M dyninstAPI/src/instPoint.C
    M dyninstAPI/src/instPoint.h
    M dyninstAPI/src/linux-aarch64.C
    M dyninstAPI/src/linux-power.C
    M dyninstAPI/src/linux-x86.C
    A dyninstAPI/src/trampolines/baseTramp-aarch64.C
    A dyninstAPI/src/trampolines/baseTramp-aarch64.h
    A dyninstAPI/src/trampolines/baseTramp-amdgpu.h
    A dyninstAPI/src/trampolines/baseTramp-ppc.C
    A dyninstAPI/src/trampolines/baseTramp-ppc.h
    A dyninstAPI/src/trampolines/baseTramp-riscv64.h
    A dyninstAPI/src/trampolines/baseTramp-x86.C
    A dyninstAPI/src/trampolines/baseTramp-x86.h
    A dyninstAPI/src/trampolines/baseTramp.C
    A dyninstAPI/src/trampolines/baseTramp.h

  Log Message:
  -----------
  Separate architecture-specific baseTramp implementations (#2124)


  Commit: e7cfb8b096b2606250599377422c730bfb41bb11
      
https://github.com/dyninst/dyninst/commit/e7cfb8b096b2606250599377422c730bfb41bb11
  Author: Marco Bartoli <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M docker/Dockerfile.fedora
    M docker/Dockerfile.ubuntu

  Log Message:
  -----------
  Fix missing libicu for peparse in docker (#2130)


  Commit: fd34f9eca8a1d3007a63349bff90e23c2c0f13f1
      
https://github.com/dyninst/dyninst/commit/fd34f9eca8a1d3007a63349bff90e23c2c0f13f1
  Author: bbiiggppiigg <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  Fix preserving ELF .rel(a).plt sections (#2128)


  Commit: e3d7329bc62d824c63401f23026e332cecf466d3
      
https://github.com/dyninst/dyninst/commit/e3d7329bc62d824c63401f23026e332cecf466d3
  Author: Ronak Chauhan <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M common/src/dyn_register.h
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/emit-amdgpu.C
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/regTracker.C
    M dyninstAPI/src/registerSpace.C
    M dyninstAPI/src/trampolines/baseTramp.C

  Log Message:
  -----------
  Introduce a richer Register type (#2112)


  Commit: a87bc38a2bf30e745436c4b4e0e37e774868918e
      
https://github.com/dyninst/dyninst/commit/a87bc38a2bf30e745436c4b4e0e37e774868918e
  Author: wxrdnx <[email protected]>
  Date:   2026-02-02 (Mon, 02 Feb 2026)

  Changed paths:
    M common/src/dyn_register.h
    M docker/Dockerfile.fedora
    M docker/Dockerfile.ubuntu
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/src/AmdgpuKernelDescriptor.C
    M dyninstAPI/src/AmdgpuPointHandler.C
    M dyninstAPI/src/AmdgpuPointHandler.h
    M dyninstAPI/src/BPatch_addressSpace.C
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/IAPI_to_AST.C
    A dyninstAPI/src/OperandType.h
    M dyninstAPI/src/Relocation/Transformers/Instrumenter.C
    M dyninstAPI/src/Relocation/Widgets/InstWidget.C
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    R dyninstAPI/src/baseTramp.C
    R dyninstAPI/src/baseTramp.h
    M dyninstAPI/src/codeRange.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/codegen.h
    R dyninstAPI/src/cpuid-x86.S
    M dyninstAPI/src/dynProcess.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/emit-amdgpu.C
    M dyninstAPI/src/emit-amdgpu.h
    M dyninstAPI/src/emit-power.h
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/emit-x86.h
    M dyninstAPI/src/emitter.h
    M dyninstAPI/src/function.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-amdgpu.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/inst-power.h
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/inst-x86.h
    M dyninstAPI/src/inst.C
    M dyninstAPI/src/inst.h
    M dyninstAPI/src/instPoint.C
    M dyninstAPI/src/instPoint.h
    M dyninstAPI/src/linux-aarch64.C
    M dyninstAPI/src/linux-power.C
    M dyninstAPI/src/linux-x86.C
    M dyninstAPI/src/opcode.h
    A dyninstAPI/src/regTracker.C
    A dyninstAPI/src/regTracker.h
    M dyninstAPI/src/registerSpace.C
    M dyninstAPI/src/registerSpace.h
    M dyninstAPI/src/syscallNotification.C
    A dyninstAPI/src/trampolines/baseTramp-aarch64.C
    A dyninstAPI/src/trampolines/baseTramp-aarch64.h
    A dyninstAPI/src/trampolines/baseTramp-amdgpu.h
    A dyninstAPI/src/trampolines/baseTramp-ppc.C
    A dyninstAPI/src/trampolines/baseTramp-ppc.h
    A dyninstAPI/src/trampolines/baseTramp-riscv64.h
    A dyninstAPI/src/trampolines/baseTramp-x86.C
    A dyninstAPI/src/trampolines/baseTramp-x86.h
    A dyninstAPI/src/trampolines/baseTramp.C
    A dyninstAPI/src/trampolines/baseTramp.h
    M parseAPI/h/CFG.h
    M parseAPI/src/Block.C
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElf.h

  Log Message:
  -----------
  Merge branch 'master' into angushe/riscv-parse-dataflow


Compare: https://github.com/dyninst/dyninst/compare/9b310dde7ea0...a87bc38a2bf3

To unsubscribe from these emails, change your notification settings at 
https://github.com/dyninst/dyninst/settings/notifications
_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to