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