dyninst.git
3 years agoFixed issue with null pointer dereference in InstructionAPI
John Detter [Wed, 4 May 2016 05:41:28 +0000 (00:41 -0500)]
Fixed issue with null pointer dereference in InstructionAPI

3 years agoFixed instruction name typo
John Detter [Mon, 2 May 2016 23:56:10 +0000 (18:56 -0500)]
Fixed instruction name typo

3 years agoSSEB table had an off by one entry -- vblendv[ps, pd] added
John Detter [Mon, 2 May 2016 23:46:56 +0000 (18:46 -0500)]
SSEB table had an off by one entry -- vblendv[ps, pd] added

3 years agoVEX register operands working with am_H, am_V, am_W and am_U
John Detter [Tue, 26 Apr 2016 16:59:31 +0000 (11:59 -0500)]
VEX register operands working with am_H, am_V, am_W and am_U

3 years agoWorking on adding higher number register support for am_(X,Y)V
John Detter [Thu, 21 Apr 2016 02:25:08 +0000 (21:25 -0500)]
Working on adding higher number register support for am_(X,Y)V

3 years agoAdded addressing modes into common
John Detter [Thu, 21 Apr 2016 00:49:05 +0000 (19:49 -0500)]
Added addressing modes into common

3 years agoStructural changes to VEX decodings
John Detter [Thu, 21 Apr 2016 00:23:20 +0000 (19:23 -0500)]
Structural changes to VEX decodings

3 years agoProject building again, patching is complete -- testing
John Detter [Tue, 19 Apr 2016 23:46:58 +0000 (18:46 -0500)]
Project building again, patching is complete -- testing

3 years agoApplied another InstructionDecoder-x86.C patch
John Detter [Tue, 19 Apr 2016 23:31:24 +0000 (18:31 -0500)]
Applied another InstructionDecoder-x86.C patch

3 years agoApplied some patches from local VEX features branch
John Detter [Tue, 19 Apr 2016 23:04:04 +0000 (18:04 -0500)]
Applied some patches from local VEX features branch

3 years agoLots of AVX instructions added/fixed
John Detter [Tue, 19 Apr 2016 22:55:20 +0000 (17:55 -0500)]
Lots of AVX instructions added/fixed

3 years agoAdded partial support for previously undocumented instructions (unstable)
John Detter [Thu, 7 Apr 2016 21:44:47 +0000 (16:44 -0500)]
Added partial support for previously undocumented instructions (unstable)

3 years agoFixed more VEX2 table entries
John Detter [Thu, 7 Apr 2016 20:25:44 +0000 (15:25 -0500)]
Fixed more VEX2 table entries

3 years agoFix for operand mode bugs
John Detter [Thu, 7 Apr 2016 20:09:15 +0000 (15:09 -0500)]
Fix for operand mode bugs

3 years agoFixed an issue with vpadd (VEX2) and added more error reporting in arch-x86
John Detter [Wed, 6 Apr 2016 01:50:14 +0000 (20:50 -0500)]
Fixed an issue with vpadd (VEX2) and added more error reporting in arch-x86

3 years agoFix tail call bugs:
Xiaozhu Meng [Tue, 5 Apr 2016 19:20:07 +0000 (14:20 -0500)]
Fix tail call bugs:
1. When the jump target is a different function entry and the function entry hasn't been parsed, it is a tail call
2. When the jump target goes into overlapping instructions, print debugging message and it should not be a tail call

When checking whether a function contains a block, if the block is NULL, it should return false

3 years agoFixed InstructionDecoder-x86 opsema masking bug
John Detter [Tue, 5 Apr 2016 19:12:21 +0000 (14:12 -0500)]
Fixed InstructionDecoder-x86 opsema masking bug

3 years agoTemporary patch for isTailCall bug -- will be revisited
John Detter [Tue, 5 Apr 2016 04:12:44 +0000 (23:12 -0500)]
Temporary patch for isTailCall bug -- will be revisited

3 years agoRemoved some asserts that should return invalid instruction instead
John Detter [Thu, 31 Mar 2016 23:18:26 +0000 (18:18 -0500)]
Removed some asserts that should return invalid instruction instead

3 years agoApplied Xiaozhu's patch (Fixed unknown register class error)
John Detter [Thu, 31 Mar 2016 23:09:52 +0000 (18:09 -0500)]
Applied Xiaozhu's patch (Fixed unknown register class error)

4 years agoLots of improvements:
John Detter [Tue, 29 Mar 2016 21:03:00 +0000 (16:03 -0500)]
Lots of improvements:
 - Added some AVX512 patch work from newer versions
 - Fixed some VEX2/VEX3 decoding table entries
 - Instruction decoder bug fixes for AVX512

4 years agoFixed assert failure that gets triggered when processing non instructions
John Detter [Mon, 28 Mar 2016 20:46:39 +0000 (15:46 -0500)]
Fixed assert failure that gets triggered when processing non instructions

4 years agoAdded support for new SHA-512 instructions
John Detter [Mon, 7 Mar 2016 18:44:26 +0000 (12:44 -0600)]
Added support for new SHA-512 instructions

4 years agoSome VEX512 instructions decoded
John Detter [Thu, 3 Mar 2016 23:59:19 +0000 (17:59 -0600)]
Some VEX512 instructions decoded

4 years agoImplemented a ton of EVEX instructions
John Detter [Tue, 1 Mar 2016 13:57:20 +0000 (07:57 -0600)]
Implemented a ton of EVEX instructions

4 years agoNew tables are imported with no build problems -- testing
John Detter [Tue, 1 Mar 2016 10:28:14 +0000 (04:28 -0600)]
New tables are imported with no build problems -- testing

4 years agoAbout to replace all of the tables with autogenerated tables (again)
John Detter [Tue, 1 Mar 2016 10:06:51 +0000 (04:06 -0600)]
About to replace all of the tables with autogenerated tables (again)

4 years agoSSEB map autogenerated
John Detter [Tue, 1 Mar 2016 09:33:04 +0000 (03:33 -0600)]
SSEB map autogenerated

4 years agoSSE enum autogenerated
John Detter [Tue, 1 Mar 2016 09:26:27 +0000 (03:26 -0600)]
SSE enum autogenerated

4 years agoAbout to add all EVEX instructions
John Detter [Tue, 1 Mar 2016 09:13:06 +0000 (03:13 -0600)]
About to add all EVEX instructions

4 years agoWeird issue with adding properties to prefix class
John Detter [Tue, 1 Mar 2016 06:48:25 +0000 (00:48 -0600)]
Weird issue with adding properties to prefix class

4 years agoVEX2 and VEX3 prefixed instructions should be implemented
John Detter [Tue, 23 Feb 2016 16:32:37 +0000 (10:32 -0600)]
VEX2 and VEX3 prefixed instructions should be implemented

4 years agoAdded SSETER map stubs -- untested
John Detter [Sat, 20 Feb 2016 00:06:06 +0000 (18:06 -0600)]
Added SSETER map stubs -- untested

4 years agoAdded SSEBIS map autogenerated stubs
John Detter [Fri, 19 Feb 2016 23:54:42 +0000 (17:54 -0600)]
Added SSEBIS map autogenerated stubs

4 years agoAdding autogenerated stubs -- untested
John Detter [Fri, 19 Feb 2016 23:34:41 +0000 (17:34 -0600)]
Adding autogenerated stubs -- untested

4 years agoAbout to import output from generation script
John Detter [Thu, 18 Feb 2016 22:54:21 +0000 (16:54 -0600)]
About to import output from generation script

4 years agoAdded support for about 50 new AVX-512 instructions
John Detter [Fri, 5 Feb 2016 03:18:11 +0000 (21:18 -0600)]
Added support for about 50 new AVX-512 instructions

4 years agoMerge branch 'v9.1.x' into VEX
John Detter [Tue, 2 Feb 2016 15:48:47 +0000 (09:48 -0600)]
Merge branch 'v9.1.x' into VEX

Conflicts:
common/src/arch-x86.C

4 years agoAdded mneumonics for new VEX2 and VEX3 instructions
John Detter [Tue, 2 Feb 2016 15:37:03 +0000 (09:37 -0600)]
Added mneumonics for new VEX2 and VEX3 instructions

4 years agoAll AVX and AVX2 Series instructions (included 4 op) decoded
John Detter [Sun, 31 Jan 2016 22:26:28 +0000 (16:26 -0600)]
All AVX and AVX2 Series instructions (included 4 op) decoded

4 years agoCan now understand basic 4 operand VEX instructions
John Detter [Tue, 26 Jan 2016 02:39:08 +0000 (20:39 -0600)]
Can now understand basic 4 operand VEX instructions

4 years agoAll of the working instructions have
John Detter [Thu, 21 Jan 2016 22:46:39 +0000 (16:46 -0600)]
All of the working instructions have

4 years agoMoved as many VEX3 instructions into the sse tables as possible
John Detter [Wed, 20 Jan 2016 03:31:31 +0000 (21:31 -0600)]
Moved as many VEX3 instructions into the sse tables as possible

4 years agovpermilps instruction length fixed
John Detter [Wed, 13 Jan 2016 22:18:42 +0000 (16:18 -0600)]
vpermilps instruction length fixed

4 years agovpermpd and vpermq fixed
John Detter [Wed, 13 Jan 2016 22:12:16 +0000 (16:12 -0600)]
vpermpd and vpermq fixed

4 years agoAdded support for the 2 different operand modes for v[p]maskmov[p,s] instructions
John Detter [Wed, 13 Jan 2016 21:40:02 +0000 (15:40 -0600)]
Added support for the 2 different operand modes for v[p]maskmov[p,s] instructions

4 years agoDyninst can now use am_H addressing mode
John Detter [Tue, 12 Jan 2016 19:24:51 +0000 (13:24 -0600)]
Dyninst can now use am_H addressing mode

4 years agoStarting more in depth testing
John Detter [Tue, 12 Jan 2016 12:59:47 +0000 (06:59 -0600)]
Starting more in depth testing

4 years agoMerge remote-tracking branch 'origin/master' into VEX
John Detter [Mon, 4 Jan 2016 22:48:58 +0000 (16:48 -0600)]
Merge remote-tracking branch 'origin/master' into VEX

4 years agoSome AVX, AVX2 instructions have operands decoded
John Detter [Mon, 4 Jan 2016 22:47:54 +0000 (16:47 -0600)]
Some AVX, AVX2 instructions have operands decoded

4 years agoSome VEX instructions have operands decoded
John Detter [Wed, 30 Dec 2015 23:54:44 +0000 (17:54 -0600)]
Some VEX instructions have operands decoded

4 years agoStarted working on VEX operand decoding.
John Detter [Wed, 30 Dec 2015 05:08:39 +0000 (23:08 -0600)]
Started working on VEX operand decoding.

4 years agoAVX and AVX2 decoded (working on decoding opcodes)
John Detter [Wed, 30 Dec 2015 02:07:41 +0000 (20:07 -0600)]
AVX and AVX2 decoded (working on decoding opcodes)

4 years agoProject building
John Detter [Mon, 28 Dec 2015 07:40:56 +0000 (01:40 -0600)]
Project building

4 years agoVEX2 and VEX3 now have their own tables
John Detter [Mon, 28 Dec 2015 05:47:45 +0000 (23:47 -0600)]
VEX2 and VEX3 now have their own tables

4 years agoDyninst can now recognize about 50 VEX instructions
John Detter [Wed, 23 Dec 2015 02:22:22 +0000 (20:22 -0600)]
Dyninst can now recognize about 50 VEX instructions

4 years agoMerge branch 'v9.1.x' of ssh://follis/p/paradyn/development/bill/head/dyninst into... v9.1.0
Paradyn [Wed, 16 Dec 2015 17:09:59 +0000 (11:09 -0600)]
Merge branch 'v9.1.x' of ssh://follis/p/paradyn/development/bill/head/dyninst into v9.1.x

4 years ago9.1 Word-based doc updates
Paradyn [Wed, 16 Dec 2015 17:09:04 +0000 (11:09 -0600)]
9.1 Word-based doc updates

4 years agoConsistency fix
Bill Williams [Tue, 15 Dec 2015 18:22:14 +0000 (12:22 -0600)]
Consistency fix

4 years agoAdd explicit include for BPatch_object.h
Bill Williams [Tue, 15 Dec 2015 18:20:28 +0000 (12:20 -0600)]
Add explicit include for BPatch_object.h

4 years agoFinal bits of cleanup (warnings and version numbers).
Bill Williams [Fri, 11 Dec 2015 20:46:05 +0000 (14:46 -0600)]
Final bits of cleanup (warnings and version numbers).

4 years agoBPatch_object::findFunction should no longer spam BPatch errors for each of its modul...
Bill Williams [Thu, 10 Dec 2015 19:48:24 +0000 (13:48 -0600)]
BPatch_object::findFunction should no longer spam BPatch errors for each of its modules that don't contain the function requested.

4 years agoBPatch library callbacks now return a BPatch_object, in line with change from module...
Bill Williams [Thu, 10 Dec 2015 19:47:37 +0000 (13:47 -0600)]
BPatch library callbacks now return a BPatch_object, in line with change from module->object for representing libraries.

4 years agoUpdated READMEs
Bill Williams [Wed, 9 Dec 2015 22:24:33 +0000 (16:24 -0600)]
Updated READMEs

4 years agoDon't try to follow indirect catch blocks; they probably are not statically resolvabl...
Bill Williams [Mon, 7 Dec 2015 20:20:44 +0000 (14:20 -0600)]
Don't try to follow indirect catch blocks; they probably are not statically resolvable (and may segfault if we try).

4 years agoException block parsing fixes to match glibc internals:
Bill Williams [Mon, 7 Dec 2015 17:26:47 +0000 (11:26 -0600)]
Exception block parsing fixes to match glibc internals:

* DW_EH_PE_aligned refers to alignment within the .eh_frame section, not alignment of the target
* DW_EH_PE_indirect accounts for the "mysterious" bit at 0x80 in the type field, and should be respected.
* Zero values do not get the base added, but are ignored.
* Read the landing pad base if it's present, and use it; default to low_pc as before.
* Table end is always encoded as ULEB128, apparently.

4 years agoSlicing: ignore catch edges.
Bill Williams [Mon, 7 Dec 2015 17:23:12 +0000 (11:23 -0600)]
Slicing: ignore catch edges.

4 years agoFix string corruption in use of symtab names.
Bill Williams [Thu, 3 Dec 2015 17:17:36 +0000 (11:17 -0600)]
Fix string corruption in use of symtab names.

4 years agoFix bad handling of high_pc errors and bad default libdwarf error handler.
Bill Williams [Wed, 25 Nov 2015 22:17:23 +0000 (16:17 -0600)]
Fix bad handling of high_pc errors and bad default libdwarf error handler.

4 years agoFix dwarf_attr leak, which could get quite large with repeated line info queries.
Bill Williams [Fri, 20 Nov 2015 21:01:36 +0000 (15:01 -0600)]
Fix dwarf_attr leak, which could get quite large with repeated line info queries.

4 years agoFix bad decodes (per testsuite, which is actually correct on this one).
Bill Williams [Fri, 20 Nov 2015 21:01:11 +0000 (15:01 -0600)]
Fix bad decodes (per testsuite, which is actually correct on this one).

4 years agoModified byte-ordering used for instruction decoding for ARM64.
Sunny Shah [Mon, 7 Dec 2015 16:18:42 +0000 (10:18 -0600)]
Modified byte-ordering used for instruction decoding for ARM64.

The code was assuming ARM to be big endian while it is not. Modified the decode method to get instruction bytes according to litle-endian order.

4 years agoFix bad handling of high_pc errors and bad default libdwarf error handler.
Bill Williams [Wed, 25 Nov 2015 22:17:23 +0000 (16:17 -0600)]
Fix bad handling of high_pc errors and bad default libdwarf error handler.

4 years agoMerge branch 'v9.1.x' of ssh://git.dyninst.org/pub/dyninst into v9.1.x
Bill Williams [Fri, 20 Nov 2015 23:00:27 +0000 (17:00 -0600)]
Merge branch 'v9.1.x' of ssh://git.dyninst.org/pub/dyninst into v9.1.x

4 years agoupdated the method to handle compiler bug when template functions appears first
SteveXiSong [Fri, 20 Nov 2015 22:40:37 +0000 (16:40 -0600)]
updated the method to handle compiler bug when template functions appears first

4 years agofixed the compiler bug when OPRimm appears at the first place of boost::list_of
SteveXiSong [Fri, 20 Nov 2015 21:37:27 +0000 (15:37 -0600)]
fixed the compiler bug when OPRimm appears at the first place of boost::list_of

4 years agoFix dwarf_attr leak, which could get quite large with repeated line info queries.
Bill Williams [Fri, 20 Nov 2015 21:01:36 +0000 (15:01 -0600)]
Fix dwarf_attr leak, which could get quite large with repeated line info queries.

4 years agoFix bad decodes (per testsuite, which is actually correct on this one).
Bill Williams [Fri, 20 Nov 2015 21:01:11 +0000 (15:01 -0600)]
Fix bad decodes (per testsuite, which is actually correct on this one).

4 years agoupdated decoder generator with class structure
SteveXiSong [Thu, 19 Nov 2015 00:08:49 +0000 (18:08 -0600)]
updated decoder generator with class structure

4 years agofixed insn_print merge conflicts
SteveXiSong [Wed, 18 Nov 2015 21:55:24 +0000 (15:55 -0600)]
fixed insn_print merge conflicts

4 years agofixed insn_printf
SteveXiSong [Wed, 18 Nov 2015 02:14:17 +0000 (20:14 -0600)]
fixed insn_printf

4 years agofixed insn_print bugs
SteveXiSong [Tue, 17 Nov 2015 18:55:12 +0000 (12:55 -0600)]
fixed insn_print bugs

4 years agoMerge branch 'v9.1.x' into arm64
SteveXiSong [Mon, 16 Nov 2015 23:06:06 +0000 (17:06 -0600)]
Merge branch 'v9.1.x' into arm64

4 years agoUpdated to 9.1
Bill Williams [Mon, 16 Nov 2015 16:13:54 +0000 (10:13 -0600)]
Updated to 9.1

4 years agoMerge branch 'v9.0.x' into v9.1.x
Bill Williams [Mon, 16 Nov 2015 15:46:52 +0000 (09:46 -0600)]
Merge branch 'v9.0.x' into v9.1.x

4 years agoMerge branch 'arm64' into v9.1.x
Sunny Shah [Sat, 14 Nov 2015 16:04:36 +0000 (10:04 -0600)]
Merge branch 'arm64' into v9.1.x

4 years agoMerge branch 'master' into arm64
SteveXiSong [Sat, 14 Nov 2015 01:22:22 +0000 (19:22 -0600)]
Merge branch 'master' into arm64

4 years agofixed merger conflicts
SteveXiSong [Fri, 13 Nov 2015 23:14:25 +0000 (17:14 -0600)]
fixed merger conflicts

4 years agouncommented reorder cases for ldst and fixed a bug in macro function for ldst_ex_pair...
SteveXiSong [Fri, 13 Nov 2015 23:04:10 +0000 (17:04 -0600)]
uncommented reorder cases for ldst and fixed a bug in macro function for ldst_ex_pair. Ready to be released.

4 years agoStack of IAPI fixes based on fuzz testing.
Bill Williams [Fri, 13 Nov 2015 22:47:26 +0000 (16:47 -0600)]
Stack of IAPI fixes based on fuzz testing.

4 years agoChanged names of right rotate, logical and arithmetic right shift functions displayed...
Sunny Shah [Fri, 13 Nov 2015 22:28:22 +0000 (16:28 -0600)]
Changed names of right rotate, logical and arithmetic right shift functions displayed when pretty printing the instruction

4 years agoModified handling of test-and-branch instructions to support our current operand...
Sunny Shah [Fri, 13 Nov 2015 22:14:52 +0000 (16:14 -0600)]
Modified handling of test-and-branch instructions to support our current operand re-ordering logic. (This will be reverted to the old code once we have ageneric ordering logic)

4 years agoA merge conflict was un-resolved in the previous commit. Resolving the same.
Sunny Shah [Fri, 13 Nov 2015 21:08:17 +0000 (15:08 -0600)]
A merge conflict was un-resolved in the previous commit. Resolving the same.

4 years agoFixed merge conflicts after merging with changes by Steve.wq
Sunny Shah [Fri, 13 Nov 2015 20:20:16 +0000 (14:20 -0600)]
Fixed merge conflicts after merging with changes by Steve.wq

4 years agoAdded logic to re-order the operands after delayed decoding.
Sunny Shah [Fri, 13 Nov 2015 20:13:32 +0000 (14:13 -0600)]
Added logic to re-order the operands after delayed decoding.

This is a temporary solution - will be replaced by a more generic solution in the coming weeks. For now, except for some instructions, the operand list is reversed after all operands are parsed. For the instructions that do not fit into this model, an operand swapping and rotating logic is used (at most there will be 1 swap and 2 rotates) to get the correct order.

4 years agoUpdated instruction table with output from the script with latest changes. This adds...
Sunny Shah [Fri, 13 Nov 2015 20:11:55 +0000 (14:11 -0600)]
Updated instruction table with output from the script with latest changes. This adds the setFlags method for instructions that need to set PSTATE.

4 years agocommented a line of debugging code
SteveXiSong [Fri, 13 Nov 2015 19:50:53 +0000 (13:50 -0600)]
commented a line of debugging code

4 years agoreversed the operand order and handled cases for ldst exceptions
SteveXiSong [Fri, 13 Nov 2015 19:44:28 +0000 (13:44 -0600)]
reversed the operand order and handled cases for ldst exceptions

4 years agoMerge branch 'arm64' of ssh://git.dyninst.org/pub/dyninst into arm64
Sunny Shah [Fri, 13 Nov 2015 13:10:52 +0000 (07:10 -0600)]
Merge branch 'arm64' of ssh://git.dyninst.org/pub/dyninst into arm64

4 years agoAdded operand re-ordering function skeleton.
Sunny Shah [Fri, 13 Nov 2015 13:09:06 +0000 (07:09 -0600)]
Added operand re-ordering function skeleton.