dyninst.git
3 years agoset_type() in SgAsmExpression has to be virtual 127/head
Sunny Shah [Mon, 18 Jul 2016 22:13:12 +0000 (17:13 -0500)]
set_type() in SgAsmExpression has to be virtual

3 years agoFixed issues seen while parsing a simple ARM binary
Sunny Shah [Thu, 14 Jul 2016 19:13:56 +0000 (14:13 -0500)]
Fixed issues seen while parsing a simple ARM binary

* Direct register expressions need to have their type set - this is set to SgAsmIntegerType for now. The type's signed-ness is set to unsigned, but it shouldn't matter because the only place register expressions' types are used is when accessing the width.
* regPos wasn't being set correctly for ARM flags when converting a Dyninst register to a ROSE register.
* The correct jump table analysis functions are now being called for ARM binaries.

3 years agoCreate Dispatcher object during symbolic expansion for instruction processing
Sunny Shah [Wed, 13 Jul 2016 16:25:23 +0000 (11:25 -0500)]
Create Dispatcher object during symbolic expansion for instruction processing

A BaseSemantics::Dispatcher object is created using the passed in RiscOperators object during the expansion of ARM64 instructions. A similar thing will be done for other architectures once they move to the new semantics.

3 years agoFixed issues seen while building SymEvalSemantics.C.
Sunny Shah [Wed, 13 Jul 2016 16:04:08 +0000 (11:04 -0500)]
Fixed issues seen while building SymEvalSemantics.C.

3 years agoAdded implementation for RiscOperators::addWithCarries().
Sunny Shah [Wed, 13 Jul 2016 16:02:26 +0000 (11:02 -0500)]
Added implementation for RiscOperators::addWithCarries().

3 years agoAllow accessing StateARM64's Dyninst::Address member in RegisterStateARM64 for use...
Sunny Shah [Tue, 12 Jul 2016 17:50:44 +0000 (12:50 -0500)]
Allow accessing StateARM64's Dyninst::Address member in RegisterStateARM64 for use by wrap().

When calling wrap() in RegisterStateARM64::readRegister(), the Dyninst::Address member passed in to StateARM64 needs to be accessed. A new RegisterStateARM64::readRegister is added which takes the RegisterDescriptor and the Dyninst::Address, and the default readRegister() causes an assert().

RiscOperators in SymEvalSemantics is renamed to RiscOperatorsARM64. Two methods in it were wrongly named -- they have been renamed to their correct versions.

Building of SymEvalSemantics is also enabled now.

3 years agoAdded definitions for the remaining pure virtual members of the RiscOperators class...
Sunny Shah [Fri, 8 Jul 2016 21:56:40 +0000 (16:56 -0500)]
Added definitions for the remaining pure virtual members of the RiscOperators class for use by SymEvalSemantics.

3 years agoAdded definitions for about half of the pure virtual methods of the RiscOperators...
Sunny Shah [Fri, 8 Jul 2016 21:26:29 +0000 (16:26 -0500)]
Added definitions for about half of the pure virtual methods of the RiscOperators class.

Most of these micro-operations just translate to the creation of a unary/binary/ternary AST. Utility methods for creating such ASTs and then wrapping them around a SValuePtr are also added.

3 years agoDefinitions of the register state, memory state and value type for SymEval semantics...
Sunny Shah [Fri, 8 Jul 2016 17:29:16 +0000 (12:29 -0500)]
Definitions of the register state, memory state and value type for SymEval semantics are now complete.

Also modified the intialization of all 4 required components in SymEval.C to use the new definitions instead of those in BaseSemantics2.h. The final RiscOperators object is thus setup to be usable by Dyninst.

3 years agoAdded definitions/declarations of methods for the ARM64 register state
Sunny Shah [Tue, 5 Jul 2016 18:00:27 +0000 (13:00 -0500)]
Added definitions/declarations of methods for the ARM64 register state

3 years agoClass declarations for SymEvalSemantics
Sunny Shah [Fri, 1 Jul 2016 22:02:15 +0000 (17:02 -0500)]
Class declarations for SymEvalSemantics

SymEvalPolicy is now called "SymEvalSemantics" - in line with the terminology of the new semantics framework. Using this requires the implementation of 4 main classes - SValue (the value type), RegisterState, MemoryState and RiscOperators. All of these inherit from their respective definitions in BaseSemantics2.h.

Everything from the old policy (eg. SymEvalPolicy) needs to be mapped to these 4 classes. Currently, the implementation of SValue is mostly complete (a couple methods are yet to be implemented and few others need a little more thought) and declarations for some methods in RiscOperators have been added.

3 years agoInitialize semantics for use with ARM64
Sunny Shah [Thu, 30 Jun 2016 18:21:25 +0000 (13:21 -0500)]
Initialize semantics for use with ARM64

Before the dispatcher for ARM64 can be called for instruction processing, the value type, register state, memory state and RISC operators need to be initialized. Ideally, these should be specific to Dyninst's SymEvalPolicy. That policy, however, needs to be re-written to work with the new semantics - this hasn't been done yet. Thus the current initializations of the type, states and operators use the base types (defined in BaseSemantics2.h) and will later by replaced by concretized versions.

3 years agoMerge branch 'arm64/feature/semantics_importnew'
Sunny Shah [Wed, 29 Jun 2016 18:03:13 +0000 (13:03 -0500)]
Merge branch 'arm64/feature/semantics_importnew'

3 years agoMerge branch 'master' of https://github.com/dyninst/dyninst
Sunny Shah [Wed, 29 Jun 2016 18:02:53 +0000 (13:02 -0500)]
Merge branch 'master' of https://github.com/dyninst/dyninst

3 years agoMerge pull request #112 from dyninst/release9.2/fixes/rewriter_assert
John Detter [Wed, 29 Jun 2016 15:59:17 +0000 (10:59 -0500)]
Merge pull request #112 from dyninst/release9.2/fixes/rewriter_assert

Disabled condition decoding in stack rewriting.

3 years agoDisabled condition decoding in stack rewriting. 112/head
John Detter [Wed, 29 Jun 2016 14:35:33 +0000 (09:35 -0500)]
Disabled condition decoding in stack rewriting.

3 years agoMerge pull request #109 from cuviper/paged-papercuts
Bill Williams [Tue, 28 Jun 2016 21:11:06 +0000 (16:11 -0500)]
Merge pull request #109 from cuviper/paged-papercuts

symtabAPI: Apply corrections for the library_adjust page offset

3 years agoMerge pull request #107 from dyninst/VEX
John Detter [Tue, 28 Jun 2016 20:32:19 +0000 (15:32 -0500)]
Merge pull request #107 from dyninst/VEX

Rewriter fixes, instruction decoding fixes.

3 years agoProperly check the return value of inferior malloc irpc 107/head
Xiaozhu Meng [Tue, 28 Jun 2016 18:34:12 +0000 (13:34 -0500)]
Properly check the return value of inferior malloc irpc

3 years agosymtabAPI: Apply corrections for the library_adjust page offset 109/head
Josh Stone [Tue, 28 Jun 2016 00:44:49 +0000 (17:44 -0700)]
symtabAPI: Apply corrections for the library_adjust page offset

This commit aggregates the incremental fixes that Bill Williams and I
found while investigating issue #93, rewriting libc.so.

- The offsets of new sections need to account for library_adjust when
  placing themselves after the first new section.
- TLS symbol values need *not* be adjusted, as they're section-relative.
- DT_INIT/FINI values need to be adjusted.
- x86 IRELATIVE relocations need their addends adjusted.

Fixes #93.

3 years agoMerge branch 'VEX' of http://github.com/dyninst/dyninst into VEX
John Detter [Tue, 28 Jun 2016 00:26:21 +0000 (19:26 -0500)]
Merge branch 'VEX' of github.com/dyninst/dyninst into VEX

3 years agoFixed Mark Krentel's build issue
John Detter [Mon, 27 Jun 2016 23:47:43 +0000 (18:47 -0500)]
Fixed Mark Krentel's build issue

3 years agoMerge pull request #105 from pefoley2/llvm_travis
Bill Williams [Mon, 27 Jun 2016 21:13:49 +0000 (16:13 -0500)]
Merge pull request #105 from pefoley2/llvm_travis

Don't use broken llvm apt mirror

3 years agoMerge branch 'master' of https://github.com/dyninst/dyninst
Sunny Shah [Mon, 27 Jun 2016 17:21:23 +0000 (12:21 -0500)]
Merge branch 'master' of https://github.com/dyninst/dyninst

3 years agoIntegration of ROSE's new semantics framework with Dyninst
Sunny Shah [Mon, 27 Jun 2016 17:07:07 +0000 (12:07 -0500)]
Integration of ROSE's new semantics framework with Dyninst

This commit brings in and sets up all the files required to use the new ROSE semantics framework from within Dyninst. The starting point for this was the src/midend/binaryAnalyses/instructionSemantics folder within ROSE's source tree. All the other files have been added because semantics directlyu or indirectly depends on them.

After adding the file to the Dyninst source, several changes may or may not have been made to it. Most of the changes revolve around updating the include paths and removing any macros used by ROSE but not required by Dyninst. Other minor changes have also been made based on build errors/warnings.

Currently, he build succeeds but with a ton of warnings. I've suppressed them for the time being.

By doing this, both old and new instruction semantics should ideally be able to co-exist, although this hasn't been tested yet.

3 years agoMerge pull request #108 from pefoley2/VEX_win
John Detter [Mon, 27 Jun 2016 16:40:43 +0000 (11:40 -0500)]
Merge pull request #108 from pefoley2/VEX_win

fix dll linkage on windows

3 years agofix dll linkage on windows 108/head
Peter Foley [Fri, 24 Jun 2016 18:00:33 +0000 (14:00 -0400)]
fix dll linkage on windows

3 years agoDon't use broken llvm apt mirror 105/head
Peter Foley [Fri, 24 Jun 2016 13:56:18 +0000 (09:56 -0400)]
Don't use broken llvm apt mirror

3 years agoBuild fix for 32 bit environments 106/head
John Detter [Fri, 24 Jun 2016 15:47:22 +0000 (10:47 -0500)]
Build fix for 32 bit environments

3 years agoBuild fix for 32 bit environments
John Detter [Wed, 22 Jun 2016 18:48:48 +0000 (13:48 -0500)]
Build fix for 32 bit environments

3 years agoFixed test_mem* issues
John Detter [Tue, 21 Jun 2016 23:23:58 +0000 (18:23 -0500)]
Fixed test_mem* issues

3 years agoMerge branch 'master' into VEX
John Detter [Tue, 21 Jun 2016 19:12:11 +0000 (14:12 -0500)]
Merge branch 'master' into VEX

3 years agoMerge pull request #102 from mxz297/master
Xiaozhu Meng [Tue, 21 Jun 2016 17:04:08 +0000 (12:04 -0500)]
Merge pull request #102 from mxz297/master

Fixes for jump table, instruction decoding, windows proccontrol

3 years agoFixes Windows Build 102/head
Xiaozhu Meng [Tue, 21 Jun 2016 16:49:20 +0000 (11:49 -0500)]
Fixes Windows Build

3 years agoAdded missing memory addressing modes from InstructionAPI
John Detter [Tue, 21 Jun 2016 14:24:05 +0000 (09:24 -0500)]
Added missing memory addressing modes from InstructionAPI

3 years agoMerge remote-tracking branch 'upstream/master' into windows
Xiaozhu Meng [Tue, 21 Jun 2016 02:33:21 +0000 (21:33 -0500)]
Merge remote-tracking branch 'upstream/master' into windows

3 years agoFixed a memory decoding issue
John Detter [Mon, 20 Jun 2016 22:04:21 +0000 (17:04 -0500)]
Fixed a memory decoding issue

3 years agoDisabled relocation debugging output
John Detter [Mon, 20 Jun 2016 21:22:39 +0000 (16:22 -0500)]
Disabled relocation debugging output

3 years agoBinary rewriting (IP relative) has been cleaned up and is working again
John Detter [Mon, 20 Jun 2016 21:17:27 +0000 (16:17 -0500)]
Binary rewriting (IP relative) has been cleaned up and is working again

3 years agoUse __thread instead of thread_local on non-windows platforms
Xiaozhu Meng [Mon, 20 Jun 2016 19:14:54 +0000 (14:14 -0500)]
Use __thread instead of thread_local on non-windows platforms

3 years agoFixes for procontrol on Windows including proper locking when deleting
Xiaozhu Meng [Mon, 20 Jun 2016 18:06:43 +0000 (13:06 -0500)]
Fixes for procontrol on Windows including proper locking when deleting
threads and broadcasting the conditional variable when create events
arrive

3 years agoFixed memory addressing assert
John Detter [Mon, 20 Jun 2016 12:40:07 +0000 (07:40 -0500)]
Fixed memory addressing assert

3 years agoBinary rewriting bugs fixed -- still segfault's with Unix benchmarking tool
John Detter [Mon, 20 Jun 2016 12:25:47 +0000 (07:25 -0500)]
Binary rewriting bugs fixed -- still segfault's with Unix benchmarking tool

3 years agoBug fixes for instruction parsing
John Detter [Mon, 20 Jun 2016 07:17:35 +0000 (02:17 -0500)]
Bug fixes for instruction parsing

3 years agoMerge branch 'master' of http://github.com/dyninst/dyninst into VEX
John Detter [Mon, 20 Jun 2016 05:17:31 +0000 (00:17 -0500)]
Merge branch 'master' of github.com/dyninst/dyninst into VEX

3 years agoError checking improvements
John Detter [Mon, 20 Jun 2016 05:17:22 +0000 (00:17 -0500)]
Error checking improvements

3 years agoMake the tramp guard bigger to avoid a glibc bug.
Josh Stone [Sat, 18 Jun 2016 00:28:07 +0000 (17:28 -0700)]
Make the tramp guard bigger to avoid a glibc bug.

Having just one byte of TLS induces glibc bug 14898 with the definition
of FORCED_DYNAMIC_TLS_OFFSET.  Bumping to two bytes avoids this.

Fixes #101

3 years agoImplemented rewriting fix -- testing
John Detter [Fri, 17 Jun 2016 20:02:42 +0000 (15:02 -0500)]
Implemented rewriting fix -- testing

3 years agoRTlib: use static TLS for the tramp guard (#99)
Josh Stone [Fri, 17 Jun 2016 17:51:43 +0000 (10:51 -0700)]
RTlib: use static TLS for the tramp guard (#99)

With dynamic TLS, the call to __tls_get_addr() could reach additional
instrumented code, infinitely recursing back to check the tramp guard.
Static TLS is a limited resource, but this case in RTlib is special
enough to warrant it for safety alone, nevermind performance.

3 years agoPrevent memory corruption: Dwarf_Dbg is a pointer under the hood, so don't take refer...
Bill Williams [Fri, 17 Jun 2016 16:17:11 +0000 (11:17 -0500)]
Prevent memory corruption: Dwarf_Dbg is a pointer under the hood, so don't take references to it.

3 years agoMerge branch 'heap_refactoring' of https://github.com/pefoley2/dyninst into windows
Xiaozhu Meng [Thu, 16 Jun 2016 22:13:17 +0000 (17:13 -0500)]
Merge branch 'heap_refactoring' of https://github.com/pefoley2/dyninst into windows

3 years agoMerge branch 'vs_build_fixes' of https://github.com/pefoley2/dyninst into windows
Xiaozhu Meng [Thu, 16 Jun 2016 21:31:06 +0000 (16:31 -0500)]
Merge branch 'vs_build_fixes' of https://github.com/pefoley2/dyninst into windows

3 years agoFix jump table analysis for 32-bit PIC code
Xiaozhu Meng [Wed, 15 Jun 2016 23:46:37 +0000 (18:46 -0500)]
Fix jump table analysis for 32-bit PIC code

3 years agoMerge branch 'arm64/feature/semantics_roseconvert'
Sunny Shah [Wed, 15 Jun 2016 21:05:33 +0000 (16:05 -0500)]
Merge branch 'arm64/feature/semantics_roseconvert'

3 years agouse more modern gcc 97/head
Peter Foley [Fri, 6 May 2016 03:30:05 +0000 (23:30 -0400)]
use more modern gcc

3 years agolink windows libraries privately
Peter Foley [Fri, 6 May 2016 03:18:59 +0000 (23:18 -0400)]
link windows libraries privately

3 years agofix Mutex undefined reference
Peter Foley [Fri, 6 May 2016 02:52:45 +0000 (22:52 -0400)]
fix Mutex undefined reference

3 years agodon't build parseThat on windows
Peter Foley [Fri, 6 May 2016 19:53:33 +0000 (15:53 -0400)]
don't build parseThat on windows

3 years agoVisual Studio build fixes
Peter Foley [Fri, 6 May 2016 17:41:35 +0000 (13:41 -0400)]
Visual Studio build fixes

3 years agoCleanup _snprintf logic
Peter Foley [Fri, 6 May 2016 00:19:28 +0000 (20:19 -0400)]
Cleanup _snprintf logic

Fix building dyninstAPI_RT with VS 2015.
Remove unnecessary overriding of _snprintf in favor of a centralized
definition.

3 years agouse thread_local for VS compatibility
Peter Foley [Fri, 6 May 2016 00:47:15 +0000 (20:47 -0400)]
use thread_local for VS compatibility

3 years agoBuild DyninstAPI_RT on Windows
Peter Foley [Wed, 15 Jun 2016 17:27:08 +0000 (13:27 -0400)]
Build DyninstAPI_RT on Windows

3 years agoRefactor RTheap to avoid doing arithmetic with void* 95/head
Peter Foley [Wed, 15 Jun 2016 17:52:23 +0000 (13:52 -0400)]
Refactor RTheap to avoid doing arithmetic with void*

Only causes a warning with gcc, but a fatal error with VS 2015.

3 years agodon't build docs by default under VS
Peter Foley [Mon, 30 May 2016 17:46:44 +0000 (13:46 -0400)]
don't build docs by default under VS

3 years agobundle cvconst.h
Peter Foley [Fri, 6 May 2016 03:21:47 +0000 (23:21 -0400)]
bundle cvconst.h

3 years agodelete generated vs files
Peter Foley [Thu, 5 May 2016 23:29:11 +0000 (19:29 -0400)]
delete generated vs files

3 years agoMerge branch 'VEX' of http://github.com/dyninst/dyninst into VEX
John Detter [Tue, 14 Jun 2016 21:20:30 +0000 (16:20 -0500)]
Merge branch 'VEX' of github.com/dyninst/dyninst into VEX

3 years agoFixed documentation typo #41
John Detter [Tue, 14 Jun 2016 21:19:48 +0000 (16:19 -0500)]
Fixed documentation typo #41

3 years agoMerge pull request #91 from mxz297/master
Xiaozhu Meng [Tue, 14 Jun 2016 20:53:31 +0000 (15:53 -0500)]
Merge pull request #91 from mxz297/master

Latest fix for rice folks

3 years agoSimplify v + v * c = v * (c + 1), where v is a variable and c is a constant 91/head
Xiaozhu Meng [Tue, 14 Jun 2016 18:41:53 +0000 (13:41 -0500)]
Simplify v + v * c = v * (c + 1), where v is a variable and c is a constant

3 years agoFixed build issue in common/src/arch-x86.C
John Detter [Tue, 14 Jun 2016 17:48:17 +0000 (12:48 -0500)]
Fixed build issue in common/src/arch-x86.C

3 years agoAdded the last missing instructions from John Mellor-Crummey's binaries
John Detter [Tue, 14 Jun 2016 17:21:52 +0000 (12:21 -0500)]
Added the last missing instructions from John Mellor-Crummey's binaries

3 years agoMerge branch 'VEX' of https://github.com/dyninst/dyninst into dyninst-VEX
Xiaozhu Meng [Tue, 14 Jun 2016 14:51:19 +0000 (09:51 -0500)]
Merge branch 'VEX' of https://github.com/dyninst/dyninst into dyninst-VEX

Conflicts:
common/src/arch-x86.C

3 years ago64 bit translate issue fixed
John Detter [Tue, 14 Jun 2016 14:00:11 +0000 (09:00 -0500)]
64 bit translate issue fixed

3 years agoSeveral SSE instructions fixed, one VEX instruction fixed.
John Detter [Tue, 14 Jun 2016 13:38:59 +0000 (08:38 -0500)]
Several SSE instructions fixed, one VEX instruction fixed.

3 years agoMerge branch 'VEX' of http://github.com/dyninst/dyninst into VEX
John Detter [Tue, 14 Jun 2016 13:00:24 +0000 (08:00 -0500)]
Merge branch 'VEX' of github.com/dyninst/dyninst into VEX

3 years agoAdded support for xbegin, xabort
John Detter [Tue, 14 Jun 2016 12:58:48 +0000 (07:58 -0500)]
Added support for xbegin, xabort

3 years agoDecrease jump table analysis bound
Xiaozhu Meng [Tue, 14 Jun 2016 02:18:26 +0000 (21:18 -0500)]
Decrease jump table analysis bound

3 years agoMerge branch 'master' of github.com:dyninst/dyninst
Xiaozhu Meng [Tue, 14 Jun 2016 00:52:26 +0000 (19:52 -0500)]
Merge branch 'master' of github.com:dyninst/dyninst

3 years agoCorrectly decode movsxd instruction operand sizes
Xiaozhu Meng [Tue, 14 Jun 2016 00:51:36 +0000 (19:51 -0500)]
Correctly decode movsxd instruction operand sizes

3 years agoMerge branch 'VEX' of github.com:dyninst/dyninst
Xiaozhu Meng [Mon, 13 Jun 2016 22:23:32 +0000 (17:23 -0500)]
Merge branch 'VEX' of github.com:dyninst/dyninst

3 years agoFixed instruction semantic assert issue
John Detter [Mon, 13 Jun 2016 22:22:21 +0000 (17:22 -0500)]
Fixed instruction semantic assert issue

3 years agoMerge branch 'VEX' of http://github.com/dyninst/dyninst into VEX
John Detter [Mon, 13 Jun 2016 22:16:07 +0000 (17:16 -0500)]
Merge branch 'VEX' of github.com/dyninst/dyninst into VEX

3 years agoInstruction movlsq->movsx mnumonic and operand fix
John Detter [Mon, 13 Jun 2016 22:13:52 +0000 (17:13 -0500)]
Instruction movlsq->movsx mnumonic and operand fix

3 years agoMerge branch 'VEX' of github.com:dyninst/dyninst
Xiaozhu Meng [Mon, 13 Jun 2016 21:32:41 +0000 (16:32 -0500)]
Merge branch 'VEX' of github.com:dyninst/dyninst

3 years agoFix for mapREX
John Detter [Mon, 13 Jun 2016 21:31:11 +0000 (16:31 -0500)]
Fix for mapREX

3 years agoMerge branch 'VEX' of github.com:dyninst/dyninst
Xiaozhu Meng [Mon, 13 Jun 2016 19:50:23 +0000 (14:50 -0500)]
Merge branch 'VEX' of github.com:dyninst/dyninst

3 years agoAnother REX fix
John Detter [Mon, 13 Jun 2016 19:48:25 +0000 (14:48 -0500)]
Another REX fix

3 years agoMerge branch 'VEX' of github.com:dyninst/dyninst
Xiaozhu Meng [Mon, 13 Jun 2016 19:47:18 +0000 (14:47 -0500)]
Merge branch 'VEX' of github.com:dyninst/dyninst

3 years agoFix for Xiaozhu's issue
John Detter [Mon, 13 Jun 2016 19:44:38 +0000 (14:44 -0500)]
Fix for Xiaozhu's issue

3 years agoSimplify INTERP logic for better consistency (#84)
Josh Stone [Mon, 13 Jun 2016 12:01:25 +0000 (05:01 -0700)]
Simplify INTERP logic for better consistency (#84)

When .interp was in the first page, keep it there like the comment about
FreeBSD requires.  Just shift it for the new PHDR.  But if .interp is
already past the first page, as seen in libc.so for instance, then move
its offset a whole page like we do for every other section.  Then
program headers follow the same logic.

The conditional around startMovingSections and object type is totally
removed, as it did the wrong thing for PIE binaries which otherwise look
like shared libraries.  We now just move all sections except low interp.

Fixes #71.

3 years agoBuild fix for addrtranslate (#87)
Peter Foley [Sun, 12 Jun 2016 15:15:32 +0000 (11:15 -0400)]
Build fix for addrtranslate (#87)

3 years agoOnly check the outer most memory reads for jump table format
Xiaozhu Meng [Sun, 12 Jun 2016 12:59:30 +0000 (07:59 -0500)]
Only check the outer most memory reads for jump table format

3 years agotemporarily disable broken clang build (#85)
Peter Foley [Sat, 11 Jun 2016 03:57:20 +0000 (23:57 -0400)]
temporarily disable broken clang build (#85)

3 years agoJump tables should be only in read only sections
Xiaozhu Meng [Fri, 10 Jun 2016 19:37:09 +0000 (14:37 -0500)]
Jump tables should be only in read only sections

3 years agoStop slicing when we are sure an indirect jump is not a jump table
Xiaozhu Meng [Fri, 10 Jun 2016 18:50:37 +0000 (13:50 -0500)]
Stop slicing when we are sure an indirect jump is not a jump table

3 years agoVarious fixes for jump table analysis 1. add instruction semantics for conditional...
Xiaozhu Meng [Fri, 10 Jun 2016 15:42:51 +0000 (10:42 -0500)]
Various fixes for jump table analysis 1. add instruction semantics for conditional moves 2. correctly distinguish zero extended memory read from sign extended memory read 3. ignore variable size when tracking variable aliasing 4. more precise bound tracking for sub instruction

3 years agoMerge branch 'VEX'
John Detter [Fri, 10 Jun 2016 16:15:34 +0000 (11:15 -0500)]
Merge branch 'VEX'

3 years agoMerge branch 'master' of http://github.com/dyninst/dyninst
John Detter [Fri, 10 Jun 2016 16:15:29 +0000 (11:15 -0500)]
Merge branch 'master' of github.com/dyninst/dyninst

3 years agoMerge branch 'VEX' of http://github.com/dyninst/dyninst into VEX
John Detter [Fri, 10 Jun 2016 16:08:49 +0000 (11:08 -0500)]
Merge branch 'VEX' of github.com/dyninst/dyninst into VEX