Branch: refs/heads/thaines/capstone_integration
Home: https://github.com/dyninst/dyninst
Commit: 3af734a37090d1dcf2ac97250ab2ab7042d0123c
https://github.com/dyninst/dyninst/commit/3af734a37090d1dcf2ac97250ab2ab7042d0123c
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/src/Operand.C
Log Message:
-----------
Add access specifiers in Operand::format -- REMOVE
This might be nice to have in general, but let's remove it after
debugging the new decoder.
Commit: d0b813dd530a6596633f76ca3bd094c3b9822805
https://github.com/dyninst/dyninst/commit/d0b813dd530a6596633f76ca3bd094c3b9822805
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/CMakeLists.txt
Log Message:
-----------
Use Capstone
Commit: cb93c2aebe772a43a3e67fefbead383f0a2ea35a
https://github.com/dyninst/dyninst/commit/cb93c2aebe772a43a3e67fefbead383f0a2ea35a
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/CMakeLists.txt
R instructionAPI/src/InstructionDecoder-x86.C
R instructionAPI/src/InstructionDecoder-x86.h
M instructionAPI/src/InstructionDecoderImpl.C
M instructionAPI/src/InstructionDecoderImpl.h
Log Message:
-----------
Remove old x86 decoder
Commit: 33688c2761dc16b8b2a374336c09f80ed2fa9bbd
https://github.com/dyninst/dyninst/commit/33688c2761dc16b8b2a374336c09f80ed2fa9bbd
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/h/Operation_impl.h
M instructionAPI/src/Instruction.C
M instructionAPI/src/Operation.C
Log Message:
-----------
Update x86-specific Operation ctor
The ia32 stuff is from the old decoder. However, the prefixEntryID is
still needed in ROSE (see RoseInsnX86Factory::convertKind).
Commit: fd019cf06be0e79381d32f1330621e0e9f9d3bd1
https://github.com/dyninst/dyninst/commit/fd019cf06be0e79381d32f1330621e0e9f9d3bd1
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/CMakeLists.txt
M instructionAPI/h/Instruction.h
M instructionAPI/src/InstructionDecoderImpl.C
A instructionAPI/src/x86/decoder.C
A instructionAPI/src/x86/decoder.h
Log Message:
-----------
Add stub replacement for x86 decoder
Commit: cdbf2dacb27c75278850f4b9bb74b2ae5c44bd11
https://github.com/dyninst/dyninst/commit/cdbf2dacb27c75278850f4b9bb74b2ae5c44bd11
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/CMakeLists.txt
M instructionAPI/capstone/import_registers.py
M instructionAPI/capstone/x86/registers.py
A instructionAPI/src/x86/register_xlat.C
A instructionAPI/src/x86/register_xlat.h
Log Message:
-----------
Add Capstone->Dyninst register translation
Commit: 9dc90ca9c2e7a3d01422ffbea5928a7e0b49d48a
https://github.com/dyninst/dyninst/commit/9dc90ca9c2e7a3d01422ffbea5928a7e0b49d48a
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/CMakeLists.txt
A instructionAPI/src/x86/opcode_xlat.C
A instructionAPI/src/x86/opcode_xlat.h
Log Message:
-----------
Add Capstone->Dyninst opcode translation
Commit: 6c034cf81e55c65ab2e549f3caeac8f45b4bf8d6
https://github.com/dyninst/dyninst/commit/6c034cf81e55c65ab2e549f3caeac8f45b4bf8d6
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/src/x86/decoder.C
Log Message:
-----------
Implement x86_decoder::decode
Commit: bd316e16880713027a70c9ea64ef654f213e06d8
https://github.com/dyninst/dyninst/commit/bd316e16880713027a70c9ea64ef654f213e06d8
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/src/x86/decoder.C
Log Message:
-----------
Implement skeleton for x86_decoder::decode_operands
Commit: 6b509fd6fc3afb92666a0d0319ad6cd37400054c
https://github.com/dyninst/dyninst/commit/6b509fd6fc3afb92666a0d0319ad6cd37400054c
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/h/Instruction.h
Log Message:
-----------
Allow instructions to have multiple categories
For example, conditional branches are both conditional and branches.
Commit: 39f89ef5c78ac295dd8b41d4f1ee4527c8844453
https://github.com/dyninst/dyninst/commit/39f89ef5c78ac295dd8b41d4f1ee4527c8844453
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/CMakeLists.txt
A instructionAPI/src/x86/categories.h
M instructionAPI/src/x86/decoder.C
Log Message:
-----------
Decode instruction categories
Commit: 4cb4c9f53db6c1ee67965dc9414a74374324122d
https://github.com/dyninst/dyninst/commit/4cb4c9f53db6c1ee67965dc9414a74374324122d
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/h/Instruction.h
M instructionAPI/src/Instruction.C
M instructionAPI/src/InstructionCategories.C
Log Message:
-----------
Use new categories in Instruction
Commit: c83f95ddf53c894239799e73f13d49476672eaf8
https://github.com/dyninst/dyninst/commit/c83f95ddf53c894239799e73f13d49476672eaf8
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/CMakeLists.txt
A instructionAPI/src/x86/decode_reg.C
M instructionAPI/src/x86/decoder.C
M instructionAPI/src/x86/decoder.h
Log Message:
-----------
Decode explicit register operands
Commit: fd084d81478448866635ca6f90d46600563338db
https://github.com/dyninst/dyninst/commit/fd084d81478448866635ca6f90d46600563338db
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/CMakeLists.txt
A instructionAPI/src/x86/decode_imm.C
M instructionAPI/src/x86/decoder.C
M instructionAPI/src/x86/decoder.h
A instructionAPI/src/x86/type_conversion.h
Log Message:
-----------
Decode explicit immediate operands
Commit: a995346f0a7d41fdc45bb000eff3cbbb88fb9ad4
https://github.com/dyninst/dyninst/commit/a995346f0a7d41fdc45bb000eff3cbbb88fb9ad4
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/CMakeLists.txt
A instructionAPI/src/x86/decode_mem.C
M instructionAPI/src/x86/decoder.C
M instructionAPI/src/x86/decoder.h
Log Message:
-----------
Decode explicit memory operands
Commit: 1472fde4230707294b355f4a0fb4b1486a296d0f
https://github.com/dyninst/dyninst/commit/1472fde4230707294b355f4a0fb4b1486a296d0f
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/CMakeLists.txt
A instructionAPI/src/x86/decode_implicit.C
M instructionAPI/src/x86/decoder.C
M instructionAPI/src/x86/decoder.h
Log Message:
-----------
Decode implicit operands
Commit: ae458da19d17bc3051ab3efac61722987ab0ff7b
https://github.com/dyninst/dyninst/commit/ae458da19d17bc3051ab3efac61722987ab0ff7b
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/src/x86/decode_implicit.C
Log Message:
-----------
Decode implicit memory operands
Capstone doesn't track these at all. The additional memory op for push
instructions was taken directly from Operation::setupNonOperandData.
Commit: d8d0719684ab19958ae9de15b90ba1de111b107b
https://github.com/dyninst/dyninst/commit/d8d0719684ab19958ae9de15b90ba1de111b107b
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/src/x86/decode_implicit.C
Log Message:
-----------
Decode implicit flags for interrupt instructions
Capstone doesn't fully track eflags for interrupt instructions.
Commit: 49f568bd8b56099482de0258bbca9863850d7027
https://github.com/dyninst/dyninst/commit/49f568bd8b56099482de0258bbca9863850d7027
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/src/syscalls.C
Log Message:
-----------
Update syscalls to handle corrected AST
The new x86 instruction decoder correctly creates AST for the cases like
`call gs:[0x10]` to be the same as for `call [Base + 0x10]`. Moreover,
the new decoder handles generic segment-based addressing allowed in
64-bit mode like `call [Seg + Base + (Index * Scale) + Disp]` which is
not a system call.
Commit: e62da3c1d3351ff435cdf69ba053e83d988d3be9
https://github.com/dyninst/dyninst/commit/e62da3c1d3351ff435cdf69ba053e83d988d3be9
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M common/CMakeLists.txt
M tests/unit/common/registers/CMakeLists.txt
A tests/unit/common/registers/register_set.cpp
Log Message:
-----------
Add register_set
This is a collection of MachRegisters with set operations but without
any ordering constraints.
Commit: 126ed5146fcca8483721c8f6a26f0394e57fa7d9
https://github.com/dyninst/dyninst/commit/126ed5146fcca8483721c8f6a26f0394e57fa7d9
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M tests/cft_tests.cpp
Log Message:
-----------
Add 'isConditional' test in cft tests
Commit: e8e5df780ae6f0debe33e1f73bebe9843f366328
https://github.com/dyninst/dyninst/commit/e8e5df780ae6f0debe33e1f73bebe9843f366328
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M tests/integration/InstructionAPI/decoder/x86/CMakeLists.txt
A tests/integration/InstructionAPI/decoder/x86/arithmetic.cpp
Log Message:
-----------
arithmetic tests
Commit: 2adcb73ba6983ac06996ac3b159e6f286e60af96
https://github.com/dyninst/dyninst/commit/2adcb73ba6983ac06996ac3b159e6f286e60af96
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M tests/integration/InstructionAPI/decoder/x86/CMakeLists.txt
A tests/integration/InstructionAPI/decoder/x86/branches.cpp
Log Message:
-----------
branches tests
Commit: 508162d027d92d62eea62a09411f491e63cecb29
https://github.com/dyninst/dyninst/commit/508162d027d92d62eea62a09411f491e63cecb29
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M tests/integration/InstructionAPI/decoder/x86/call.cpp
Log Message:
-----------
call tests
Commit: 87cfeb1c28cf65c602aef2aa300945b9afc11992
https://github.com/dyninst/dyninst/commit/87cfeb1c28cf65c602aef2aa300945b9afc11992
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M tests/integration/InstructionAPI/decoder/x86/CMakeLists.txt
A tests/integration/InstructionAPI/decoder/x86/data_transfer.cpp
Log Message:
-----------
data transfer tests
Commit: 42ddc1567fd852a99e497cf3c826e6588daf15a1
https://github.com/dyninst/dyninst/commit/42ddc1567fd852a99e497cf3c826e6588daf15a1
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M tests/integration/InstructionAPI/decoder/x86/CMakeLists.txt
A tests/integration/InstructionAPI/decoder/x86/sse.cpp
Log Message:
-----------
sse tests
Commit: c250d1d8134d83aac9bf798c61776cf8e252369b
https://github.com/dyninst/dyninst/commit/c250d1d8134d83aac9bf798c61776cf8e252369b
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M tests/integration/InstructionAPI/decoder/x86/CMakeLists.txt
A tests/integration/InstructionAPI/decoder/x86/strings.cpp
Log Message:
-----------
string tests
Commit: 47313e7be4b4a773292ecb620014aa22d19cabf2
https://github.com/dyninst/dyninst/commit/47313e7be4b4a773292ecb620014aa22d19cabf2
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M tests/integration/InstructionAPI/decoder/x86/CMakeLists.txt
A tests/integration/InstructionAPI/decoder/x86/stack.cpp
Log Message:
-----------
stack tests
Commit: d7c1a766d3c6504d1c7406d70c7d1900c3d0bb98
https://github.com/dyninst/dyninst/commit/d7c1a766d3c6504d1c7406d70c7d1900c3d0bb98
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M tests/integration/InstructionAPI/decoder/x86/CMakeLists.txt
A tests/integration/InstructionAPI/decoder/x86/sysctl.cpp
Log Message:
-----------
sysctl tests
Commit: 23a31dda71aec563b595cb3dd710d92719c04043
https://github.com/dyninst/dyninst/commit/23a31dda71aec563b595cb3dd710d92719c04043
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M tests/integration/InstructionAPI/decoder/x86/CMakeLists.txt
A tests/integration/InstructionAPI/decoder/x86/x87.cpp
Log Message:
-----------
x87 tests
Commit: ab59a5e6821cad80db754d7d8ea4f57b3767d778
https://github.com/dyninst/dyninst/commit/ab59a5e6821cad80db754d7d8ea4f57b3767d778
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/h/Operation_impl.h
M instructionAPI/src/Operation.C
Log Message:
-----------
Remove Operation::SetUpNonOperandData
All implicit operands are now accounted for in the decoder.
Commit: ac36ec98b8eb9627b48c21223b82cd2ac16f3596
https://github.com/dyninst/dyninst/commit/ac36ec98b8eb9627b48c21223b82cd2ac16f3596
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/doc/API/Operation.tex
M instructionAPI/h/Operation_impl.h
M instructionAPI/src/Instruction.C
M instructionAPI/src/Operation.C
Log Message:
-----------
Remove Operation::is{Read,Written}
All implicit operands are now accounted for in the decoder.
Commit: db9c808f31f41056f56030f5d821222edfc809b8
https://github.com/dyninst/dyninst/commit/db9c808f31f41056f56030f5d821222edfc809b8
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/doc/API/Operation.tex
M instructionAPI/h/Operation_impl.h
M instructionAPI/src/Instruction.C
M instructionAPI/src/Operation.C
Log Message:
-----------
Remove Operation::implicit{Reads,Writes}
All implicit operands are now accounted for in the decoder.
Commit: 3696d86265a0611826f0a3cc33298e4b7da09525
https://github.com/dyninst/dyninst/commit/3696d86265a0611826f0a3cc33298e4b7da09525
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/doc/API/Operation.tex
M instructionAPI/h/Operation_impl.h
M instructionAPI/src/Instruction.C
M instructionAPI/src/Operation.C
Log Message:
-----------
Remove Operation::getImplicitMem{Reads,Writes}
All implicit operands are now accounted for in the decoder.
Commit: b1ff0c9753787d2524742bc1a77e9d1edf2cfc4f
https://github.com/dyninst/dyninst/commit/b1ff0c9753787d2524742bc1a77e9d1edf2cfc4f
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/h/Operation_impl.h
M instructionAPI/src/Operation.C
Log Message:
-----------
Remove unused Operation::addrWidth
Commit: fab49d724456b2b0e29e04baee225bd9f549abe8
https://github.com/dyninst/dyninst/commit/fab49d724456b2b0e29e04baee225bd9f549abe8
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/h/Operation_impl.h
M instructionAPI/src/Operation.C
Log Message:
-----------
Remove Operation SMFs
Now that the std::once_flag has been removed, the special member
functions (SMFs) are no longer needed. The compiler-generated ones
will work correctly.
Commit: eb79b815e3f0615c7239c910e6ed0aa64f024e4e
https://github.com/dyninst/dyninst/commit/eb79b815e3f0615c7239c910e6ed0aa64f024e4e
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/h/Operation_impl.h
Log Message:
-----------
Remove unused includes in Operation_impl.h
Commit: ba910f552f936705ea248a2e6324a76a0a5e05a1
https://github.com/dyninst/dyninst/commit/ba910f552f936705ea248a2e6324a76a0a5e05a1
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/h/Operation_impl.h
M instructionAPI/src/Operation.C
Log Message:
-----------
Cleanup, inline Operation ctor
Commit: 7867d7e6cdeb1ade8a8db08cedda6e3d4a0438db
https://github.com/dyninst/dyninst/commit/7867d7e6cdeb1ade8a8db08cedda6e3d4a0438db
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/src/Operation.C
Log Message:
-----------
Remove x86 entry lookup in Operation::format
The decoder always populates the mnemonic, so this code will never be
used.
Commit: a1915fb09b9c54e1a8cf9b3a9baecef20a7a1191
https://github.com/dyninst/dyninst/commit/a1915fb09b9c54e1a8cf9b3a9baecef20a7a1191
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/h/Operation_impl.h
M instructionAPI/src/Operation.C
Log Message:
-----------
Operation: inline all member functions
Commit: 9b825ae18fa2075cbc3a7758892e4d2165c4e546
https://github.com/dyninst/dyninst/commit/9b825ae18fa2075cbc3a7758892e4d2165c4e546
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/h/Operation_impl.h
M instructionAPI/src/x86/decoder.C
Log Message:
-----------
Remove Operation::archDecodedFrom
It's no longer needed.
Commit: 48ad4326a9deadcf0372543789e71436982d7396
https://github.com/dyninst/dyninst/commit/48ad4326a9deadcf0372543789e71436982d7396
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/CMakeLists.txt
R instructionAPI/src/Operation.C
Log Message:
-----------
Remove Operation.C
All of it has been removed or inlined into its header.
Commit: 33097eee478b0f9c94ac8253c5674e6456dadbc9
https://github.com/dyninst/dyninst/commit/33097eee478b0f9c94ac8253c5674e6456dadbc9
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M instructionAPI/h/Instruction.h
M instructionAPI/src/Instruction.C
Log Message:
-----------
Start of deprecating get{Read,Write}Set
Commit: 233edf899bc7784a6caf97a527f4adfb831b3400
https://github.com/dyninst/dyninst/commit/233edf899bc7784a6caf97a527f4adfb831b3400
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M dataflowAPI/src/AbslocInterface.C
Log Message:
-----------
Only use explicit operand to make assignments for x86 pop
It is no longer guaranteed that the first operand coming from
getAllOperands is the destination. It _is_ guaranteed to be the first
explicit operand- because -it's the only explicit one.
Commit: 69a3a91cdb21966d4042e85102d7c51c73e75b7c
https://github.com/dyninst/dyninst/commit/69a3a91cdb21966d4042e85102d7c51c73e75b7c
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2025-12-02 (Tue, 02 Dec 2025)
Changed paths:
M parseAPI/src/IndirectAnalyzer.C
Log Message:
-----------
Do not build a jump table for an instruction without an assignment
This can happen when semantic information is incomplete for the
instruction.
Compare: https://github.com/dyninst/dyninst/compare/20bdc95fed36...69a3a91cdb21
To unsubscribe from these emails, change your notification settings at https://github.com/dyninst/dyninst/settings/notifications
|