Branch: refs/heads/thaines/decode_unknown_instructions
Home: https://github.com/dyninst/dyninst
Commit: 17a88bb8b324b4a8d28bacc9dc317002f9ec4ca8
https://github.com/dyninst/dyninst/commit/17a88bb8b324b4a8d28bacc9dc317002f9ec4ca8
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/h/InstructionDecoder.h
M instructionAPI/src/InstructionDecoder.C
Log Message:
-----------
Add callback declarations for unknown instructions in InstructionDecoder
Commit: b21139a1cd7e36786dc2fbf63f88c577242a06fc
https://github.com/dyninst/dyninst/commit/b21139a1cd7e36786dc2fbf63f88c577242a06fc
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/h/InstructionDecoder.h
Log Message:
-----------
Update definition of callback interface
This also makes 'unknown_instruction' inconstructible.
Commit: f23fc812601eb2b7993f34c0569d654cad877cc1
https://github.com/dyninst/dyninst/commit/f23fc812601eb2b7993f34c0569d654cad877cc1
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/src/Instruction.C
Log Message:
-----------
make isValid the same as isLegalInsn
This makes it impossible to make an Instruction object from a failed
decoding process. This only affects x86.
Commit: 8fbd789771b5188c8aed24d84107f80cd880df6f
https://github.com/dyninst/dyninst/commit/8fbd789771b5188c8aed24d84107f80cd880df6f
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/src/InstructionDecoder-x86.C
Log Message:
-----------
Detect illegal instructions sooner in doIA32Decode
Commit: de5c79f39ae5969d799f2caa6d4313e64dc36b69
https://github.com/dyninst/dyninst/commit/de5c79f39ae5969d799f2caa6d4313e64dc36b69
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/src/InstructionDecoder-x86.C
Log Message:
-----------
Don't advance the buffer when an x86 decode fails
Commit: 06b048a8ceb50559b183d687251adae6ea4d6833
https://github.com/dyninst/dyninst/commit/06b048a8ceb50559b183d687251adae6ea4d6833
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/src/InstructionDecoder.C
Log Message:
-----------
Add callback intercept
Commit: f22d0d699e893719a916535ea8b138f573811850
https://github.com/dyninst/dyninst/commit/f22d0d699e893719a916535ea8b138f573811850
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/h/InstructionDecoder.h
M instructionAPI/src/InstructionDecoder.C
Log Message:
-----------
Allow differing sizes between unknown and replacement instructions
Commit: 6cf38f459638c4f1dce42d63607dcd904c7b7675
https://github.com/dyninst/dyninst/commit/6cf38f459638c4f1dce42d63607dcd904c7b7675
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/h/InstructionDecoder.h
Log Message:
-----------
Add construtor for replacement class
This is needed for C++11
Commit: 1a2cb796bf0fcb175ed52ee9c7facf0b52e54e49
https://github.com/dyninst/dyninst/commit/1a2cb796bf0fcb175ed52ee9c7facf0b52e54e49
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/src/Instruction.C
Log Message:
-----------
Update Instruction ctor
Commit: 1a7ae4fb2065d142b37991ad2a1c1eb16aa57f72
https://github.com/dyninst/dyninst/commit/1a7ae4fb2065d142b37991ad2a1c1eb16aa57f72
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/h/InstructionDecoder.h
M instructionAPI/src/InstructionDecoder.C
Log Message:
-----------
Update callback interface
It now directly returns an instruction object. This removes the
possibility of having a mismatched size between the length of the bytes
consumed and the length of the provided instruction. The callback now
takes a second parameter representing the starting address of the byte
sequence.
Commit: 51ce78630ae6ac1cb5333e3d5472e32f571d2c35
https://github.com/dyninst/dyninst/commit/51ce78630ae6ac1cb5333e3d5472e32f571d2c35
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/src/InstructionDecoder.C
Log Message:
-----------
Directly pass the underlying buffer to the callback
This isn't ideal, but is necessary so that the returned Instruction
object doens't refer to a temporary.
Commit: f1881399dec3f9cd7146ab5bb2b7aae5b3e01bf8
https://github.com/dyninst/dyninst/commit/f1881399dec3f9cd7146ab5bb2b7aae5b3e01bf8
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/h/InstructionDecoder.h
M instructionAPI/src/InstructionDecoder.C
Log Message:
-----------
Remove second parameter from callback
It can't be used for debugging and has no use, otherwise.
Commit: ee208ff7c2ae9c8ddf22e73b2d03a154e4bf3c7f
https://github.com/dyninst/dyninst/commit/ee208ff7c2ae9c8ddf22e73b2d03a154e4bf3c7f
Author: Tim Haines <thaines.astro@xxxxxxxxx>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M instructionAPI/src/InstructionDecoder.C
Log Message:
-----------
Pass user copy of byte stream
This prevents accidental modification of the real binary.
Compare: https://github.com/dyninst/dyninst/compare/a96b04ca7b17...ee208ff7c2ae
|