dyninst.git
10 years agoSplits the binary code parsing out into a separate component library.
Nathan Rosenblum [Mon, 14 Jun 2010 14:50:12 +0000 (09:50 -0500)]
Splits the binary code parsing out into a separate component library.

Low-level binary parsing has been split out into the ParseAPI component.
This library supports recursive traversal and heuristic gap parsing on
arbitrary binary code sources; by default it supports those binaries
that can be handled by SymtabAPI.

Dyninst has been updated to use the ParseAPI to build control flow graphs
and to access low-level binary information. The image-* CFG objects
extent analogous objects in the ParseAPI.

XXX This commit removes support for the deprecated IA64 platform. All
IA64-specific files and code have been removed.

XXX The architecture files arch-* have been separated from code generation
and moved to libcommon, as these files are used by InstructionAPI, ParseAPI,
and DyninstAPI.

The following minor bug fixes are also included:

* SSE instructions with REX prefix set had size decoded incorrectly
* Added reference counting to Symtab objects returned by
  findOpenSymtab; Symtab objects can now be released safely

(Probably there are many more, but these are the ones on record).

10 years agoFix issue where ProcControlAPI was not properly including libelf, removed build depen...
Matthew Legendre [Thu, 3 Jun 2010 20:20:03 +0000 (15:20 -0500)]
Fix issue where ProcControlAPI was not properly including libelf, removed build dependency on SymtabAPI

10 years agoFix ProcControlAPI race condition where a signal hitting the process during a specifi...
Matthew Legendre [Thu, 3 Jun 2010 20:02:08 +0000 (15:02 -0500)]
Fix ProcControlAPI race condition where a signal hitting the process during a specific part of RPC setup/teardown would hang the thread.

10 years agoFix ProcControlAPI issue where continuing a stopped thread that had a running rpc...
Matthew Legendre [Thu, 3 Jun 2010 19:59:45 +0000 (14:59 -0500)]
Fix ProcControlAPI issue where continuing a stopped thread that had a running rpc on it incorrectly returned an error.

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Thu, 3 Jun 2010 16:13:23 +0000 (11:13 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agoReplaced custom R-B tree with a wrapper around std::map; fixes a pernicious bug in...
Andrew Bernat [Thu, 3 Jun 2010 16:05:46 +0000 (11:05 -0500)]
Replaced custom R-B tree with a wrapper around std::map; fixes a pernicious bug in removal and insertion.

10 years agoBug fix: enable-testsuite was using the wrong variable for our Makefile's test suite...
Bill Williams [Wed, 2 Jun 2010 17:06:55 +0000 (12:06 -0500)]
Bug fix: enable-testsuite was using the wrong variable for our Makefile's test suite control.

10 years agoBug fix: avoid infinite loop when iterating over binEdits. Bug introduced when fixin...
Bill Williams [Wed, 2 Jun 2010 15:26:57 +0000 (10:26 -0500)]
Bug fix: avoid infinite loop when iterating over binEdits.  Bug introduced when fixing compiler warning.

--bw

10 years agoWindows fixes: fix two warnings from unsafe variable name reuse, re-enable hack for...
Bill Williams [Wed, 2 Jun 2010 00:31:43 +0000 (19:31 -0500)]
Windows fixes: fix two warnings from unsafe variable name reuse, re-enable hack for finding loadsnstores.

10 years agoJump table fixes for Windows:
Bill Williams [Fri, 28 May 2010 20:37:22 +0000 (15:37 -0500)]
Jump table fixes for Windows:

* Our zeroAllRegisters visitor should not zero the IP, just the GPRs.  Fixed.
* isOffsetInRegion and findEnclosingRegion do not match memory/disk on Windows.  This led to us misinterpreting jump table targets as invalid.  Replaced isOffsetInRegion with explicit getRegionAddr/getRegionSize calls to mimic the findEnclosingRegion behavior.

10 years agoMake mutatee C compliant.
Bill Williams [Fri, 28 May 2010 18:28:39 +0000 (13:28 -0500)]
Make mutatee C compliant.

10 years agoTest suite fixes: added debugging output to test1_20 so that we can see what instruct...
Bill Williams [Thu, 27 May 2010 20:48:02 +0000 (15:48 -0500)]
Test suite fixes: added debugging output to test1_20 so that we can see what instructions we're instrumenting.  This requires linking the test1_20 mutator against libInstructionAPI, which in turn required a spec change.

10 years agoFix typo in XMM1 name.
Bill Williams [Thu, 27 May 2010 20:46:56 +0000 (15:46 -0500)]
Fix typo in XMM1 name.

10 years agoDon't use a scratch register for emitting AMD64 static mode calls; enables call repla...
Bill Williams [Thu, 27 May 2010 20:46:47 +0000 (15:46 -0500)]
Don't use a scratch register for emitting AMD64 static mode calls; enables call replacement even with no free registers.

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Wed, 26 May 2010 23:39:05 +0000 (18:39 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoDisable pgcc and icc tests in 32 bit mode on x86_64
Matthew Legendre [Wed, 26 May 2010 23:36:09 +0000 (18:36 -0500)]
Disable pgcc and icc tests in 32 bit mode on x86_64

10 years agoBuild fix for VC2003: ensure that everything goes through the test_pid_t typedef...
Bill Williams [Wed, 26 May 2010 21:44:17 +0000 (16:44 -0500)]
Build fix for VC2003: ensure that everything goes through the test_pid_t typedef, with explicit casts if needed.

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 26 May 2010 20:51:37 +0000 (15:51 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agoFix an error in emitting symbol versions
Andrew Bernat [Wed, 26 May 2010 20:48:10 +0000 (15:48 -0500)]
Fix an error in emitting symbol versions

10 years agoMake liveness respect system calls
Andrew Bernat [Wed, 26 May 2010 20:47:57 +0000 (15:47 -0500)]
Make liveness respect system calls

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Wed, 26 May 2010 20:42:40 +0000 (15:42 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoFix problem with ProcControlAPI not finding interpreter when linked with libelf.so.1
Matthew Legendre [Wed, 26 May 2010 20:42:11 +0000 (15:42 -0500)]
Fix problem with ProcControlAPI not finding interpreter when linked with libelf.so.1

10 years agoBug fixes for FP liveness, part 2.
Bill Williams [Wed, 26 May 2010 17:35:03 +0000 (12:35 -0500)]
Bug fixes for FP liveness, part 2.

10 years agopgcc built mutatees weren't exporting some expected symbols, causing tests to fail.
Matthew Legendre [Tue, 25 May 2010 19:09:29 +0000 (14:09 -0500)]
pgcc built mutatees weren't exporting some expected symbols, causing tests to fail.

10 years agoBug fix for FP liveness in test 1-20 (ICC).
Bill Williams [Mon, 24 May 2010 20:26:35 +0000 (15:26 -0500)]
Bug fix for FP liveness in test 1-20 (ICC).

10 years ago"make nightly" should build "all", not "DyninstAPI".
Bill Williams [Mon, 24 May 2010 16:32:36 +0000 (11:32 -0500)]
"make nightly" should build "all", not "DyninstAPI".

10 years agoAdd InstructionAPI to AIX64 makefile; fix compiler error in Archive-xcoff on AIX64.
Bill Williams [Mon, 24 May 2010 16:29:00 +0000 (11:29 -0500)]
Add InstructionAPI to AIX64 makefile; fix compiler error in Archive-xcoff on AIX64.

10 years agoPushing file missed in last commit, fixing memory problems
Matthew Legendre [Mon, 24 May 2010 20:45:54 +0000 (15:45 -0500)]
Pushing file missed in last commit, fixing memory problems

10 years agoFix bug in test1_2 when built with pgCC
Matthew Legendre [Mon, 24 May 2010 20:29:00 +0000 (15:29 -0500)]
Fix bug in test1_2 when built with pgCC
Disable test5_7 and test5_9 on pgCC and we don't have support for their template name demangling

10 years agoFix memory corruption in testsuite and binary rewriting
Matthew Legendre [Mon, 24 May 2010 18:18:46 +0000 (13:18 -0500)]
Fix memory corruption in testsuite and binary rewriting

10 years agoFix problem with runTests failing if . was not in path
Matthew Legendre [Mon, 24 May 2010 16:42:53 +0000 (11:42 -0500)]
Fix problem with runTests failing if . was not in path

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Fri, 21 May 2010 19:00:26 +0000 (14:00 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

Conflicts:
instructionAPI/src/Operation.C

10 years agoSlicing tweaks
Andrew Bernat [Fri, 21 May 2010 18:59:23 +0000 (13:59 -0500)]
Slicing tweaks

Conflicts:

symEval/h/slicing.h
symEval/src/slicing.C

10 years agoCollected main-line fixes
Andrew Bernat [Thu, 22 Apr 2010 17:31:53 +0000 (12:31 -0500)]
Collected main-line fixes
  1) Fix instruction::generateMem and new IAPI parsing internals
  2) Tail call interaction with non-returning calls fixed
  3) Shared code shares non-instrumentable status
  4) Add C++ argument and PLT registers to liveness calculations
  5) Stack analysis assumed branches were calls
  6) IAPI: adding a successor doesn't create an Operand for fallthroughs
  7) IAPI: REP prefix has implicit register usage
  8) Symtab: Skip known outlined code blocks in IA32/AMD64 libc

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Thu, 20 May 2010 22:20:45 +0000 (17:20 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoWindows fixes for testsuite
legendre [Thu, 20 May 2010 22:19:02 +0000 (17:19 -0500)]
Windows fixes for testsuite

10 years agoAllow parallel runs of testsuite
Matthew Legendre [Thu, 20 May 2010 20:23:22 +0000 (15:23 -0500)]
Allow parallel runs of testsuite

10 years agoAdd autoconf options for using icc and pgcc in testsuite
Matthew Legendre [Thu, 20 May 2010 17:05:23 +0000 (12:05 -0500)]
Add autoconf options for using icc and pgcc in testsuite

10 years agoFix warnings in ProcControlAPI build
Matthew Legendre [Wed, 19 May 2010 16:42:45 +0000 (11:42 -0500)]
Fix warnings in ProcControlAPI build

10 years agoFix issue in ProcControlAPI detach and terminate
Matthew Legendre [Wed, 19 May 2010 16:42:19 +0000 (11:42 -0500)]
Fix issue in ProcControlAPI detach and terminate

10 years agoFinal fixes for StackwalkerAPI/SymtabAPI separation
Matthew Legendre [Fri, 14 May 2010 21:48:07 +0000 (16:48 -0500)]
Final fixes for StackwalkerAPI/SymtabAPI separation

10 years agoWindows fixes for SymtabAPI/StackwalkerAPI separation
legendre [Fri, 14 May 2010 21:46:06 +0000 (16:46 -0500)]
Windows fixes for SymtabAPI/StackwalkerAPI separation

10 years agoFixes for StackwalkerAPI on Linux/ppc32
Matthew Legendre [Fri, 14 May 2010 20:44:02 +0000 (15:44 -0500)]
Fixes for StackwalkerAPI on Linux/ppc32

10 years agoFurther work separating Stack walking from SymtabAPI
Matthew Legendre [Fri, 14 May 2010 16:59:21 +0000 (11:59 -0500)]
Further work separating Stack walking from SymtabAPI

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Wed, 12 May 2010 19:53:17 +0000 (14:53 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoContinue separating some DWARF parsing into StackwalkerAPI
Matthew Legendre [Wed, 12 May 2010 19:52:56 +0000 (14:52 -0500)]
Continue separating some DWARF parsing into StackwalkerAPI

10 years agoRefactoring some DWARF parsing to be accessible to StackwalkerAPI
Matthew Legendre [Wed, 12 May 2010 19:42:03 +0000 (14:42 -0500)]
Refactoring some DWARF parsing to be accessible to StackwalkerAPI

10 years agoRestrict proccontrol mutatees to gcc/g++ for now (and define this once and only once).
Bill Williams [Tue, 11 May 2010 21:20:13 +0000 (16:20 -0500)]
Restrict proccontrol mutatees to gcc/g++ for now (and define this once and only once).

10 years agoReplace g77 with gfortran.
Bill Williams [Tue, 11 May 2010 17:25:21 +0000 (12:25 -0500)]
Replace g77 with gfortran.

10 years agoFurther bugfix for REP/REPNZ. They weren't writing to ECX, or reading the zero flag...
Bill Williams [Mon, 10 May 2010 22:07:33 +0000 (17:07 -0500)]
Further bugfix for REP/REPNZ.  They weren't writing to ECX, or reading the zero flag in the REPNZ case.

10 years agoMigration from g77 to gfortran.
Bill Williams [Mon, 10 May 2010 18:25:02 +0000 (13:25 -0500)]
Migration from g77 to gfortran.

10 years agoDon't overwrite already-done setup in operation-level reads/writes.
Bill Williams [Mon, 10 May 2010 18:24:20 +0000 (13:24 -0500)]
Don't overwrite already-done setup in operation-level reads/writes.

10 years agoAdd missing ECX read to REP prefixed instructions
Bill Williams [Mon, 10 May 2010 18:23:56 +0000 (13:23 -0500)]
Add missing ECX read to REP prefixed instructions

10 years agoFixes for rewriter of static binaries.
Daniel McNulty [Mon, 10 May 2010 03:18:46 +0000 (22:18 -0500)]
Fixes for rewriter of static binaries.
Generated testsuite files for x86 and x86_64 to enable snip_* tests for static
binaries.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Sun, 9 May 2010 17:08:15 +0000 (12:08 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoVarious makefile fixes.
Ray Chen [Fri, 7 May 2010 21:47:01 +0000 (17:47 -0400)]
Various makefile fixes.

1) Fix small typo in main Makefile dependencies.
2) Fix parseThat Makefiles to avoid "same file" error messages on install.
3) Set Fortran compiler to gfortran for i386-unknown-linux platforms.

10 years agoRemove boost::assign from optimization so AIX builds.
Bill Williams [Fri, 7 May 2010 19:29:54 +0000 (14:29 -0500)]
Remove boost::assign from optimization so AIX builds.

10 years agoBug fixes for segment registers, 16-bit mod/rm prefixes.
Bill Williams [Fri, 7 May 2010 16:53:56 +0000 (11:53 -0500)]
Bug fixes for segment registers, 16-bit mod/rm prefixes.

10 years agoEnabling snip_* tests.
Daniel McNulty [Thu, 6 May 2010 21:48:45 +0000 (16:48 -0500)]
Enabling snip_* tests.

10 years agoSlight optimization: statically construct stack pointer/frame pointer/PC ASTs.
Bill Williams [Thu, 6 May 2010 19:42:29 +0000 (14:42 -0500)]
Slight optimization: statically construct stack pointer/frame pointer/PC ASTs.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Thu, 6 May 2010 18:00:03 +0000 (13:00 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoBug fix: safety check find() results before modifying mnemonic.
Bill Williams [Thu, 6 May 2010 16:02:30 +0000 (11:02 -0500)]
Bug fix: safety check find() results before modifying mnemonic.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Thu, 6 May 2010 14:22:27 +0000 (09:22 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoFix for a section alignment bug when using libelf.so.1. Despite the
Daniel McNulty [Wed, 5 May 2010 22:07:22 +0000 (17:07 -0500)]
Fix for a section alignment bug when using libelf.so.1. Despite the
standard specifically saying that a section with an alignment of 1
is a don't care, libelf.so.1 doesn't agree. The default alignment of
newly created Regions is now sizeof(unsigned) instead of 1.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Wed, 5 May 2010 19:51:06 +0000 (14:51 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoMove patching code to separate header file
Andrew Bernat [Wed, 5 May 2010 17:38:00 +0000 (12:38 -0500)]
Move patching code to separate header file

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 5 May 2010 17:31:01 +0000 (12:31 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

Conflicts:
symtabAPI/src/emitElf.C

10 years agoPPC libelf doesn't like calling elf_errno() once...
Bill Williams [Wed, 5 May 2010 16:58:00 +0000 (11:58 -0500)]
PPC libelf doesn't like calling elf_errno() once...

10 years agoFix compile error using errno
Andrew Bernat [Wed, 5 May 2010 16:57:34 +0000 (11:57 -0500)]
Fix compile error using errno

10 years agoFix memory rewriting to work with new IAPI parsing internals
Andrew Bernat [Wed, 5 May 2010 16:53:34 +0000 (11:53 -0500)]
Fix memory rewriting to work with new IAPI parsing internals

Conflicts:

dyninstAPI/src/arch-x86.C
dyninstAPI/src/arch-x86.h

10 years agoFix "isFallthrough" method.
Andrew Bernat [Wed, 5 May 2010 16:47:03 +0000 (11:47 -0500)]
Fix "isFallthrough" method.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Wed, 5 May 2010 16:09:14 +0000 (11:09 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoAdd libelf error message to a handler for failed ELF updates.
Bill Williams [Wed, 5 May 2010 16:03:10 +0000 (11:03 -0500)]
Add libelf error message to a handler for failed ELF updates.

10 years agoBuild fixes for PPC/Linux.
Bill Williams [Wed, 5 May 2010 16:02:20 +0000 (11:02 -0500)]
Build fixes for PPC/Linux.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Wed, 5 May 2010 16:00:09 +0000 (11:00 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

Conflicts:
testsuite/ppc64_linux/test_info_new.gen.C
testsuite/ppc64_linux/tuples

10 years agoMore GCC 4.4.3 fixes.
Ray Chen [Tue, 4 May 2010 21:23:22 +0000 (17:23 -0400)]
More GCC 4.4.3 fixes.

10 years agoWindows fixes.
Bill Williams [Tue, 4 May 2010 20:51:14 +0000 (15:51 -0500)]
Windows fixes.

10 years agoWidnows testsuite build fixes.
Bill Williams [Tue, 4 May 2010 19:48:58 +0000 (14:48 -0500)]
Widnows testsuite build fixes.

10 years agoMerge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst
Bill Williams [Mon, 3 May 2010 19:13:47 +0000 (14:13 -0500)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst

Conflicts:
instructionAPI/src/arch-x86.C

10 years agoBug fix: use the correct relocation size everywhere in emitElf-64.
Bill Williams [Wed, 28 Apr 2010 22:09:55 +0000 (17:09 -0500)]
Bug fix: use the correct relocation size everywhere in emitElf-64.

10 years agoWindows build fixes.
Bill Williams [Fri, 30 Apr 2010 20:39:58 +0000 (15:39 -0500)]
Windows build fixes.

10 years agoFix for bug #1052: PPC segfault with SecurePLT relocation entries.
Ray Chen [Fri, 30 Apr 2010 00:27:27 +0000 (20:27 -0400)]
Fix for bug #1052: PPC segfault with SecurePLT relocation entries.

Add a quick check to make sure we found a glink section before dereferencing
a pointer to it.

10 years agoPOWER fixes: IAPI makefile for AIX64, fix for jump table parsing that could lead...
Bill Williams [Thu, 29 Apr 2010 18:10:43 +0000 (13:10 -0500)]
POWER fixes: IAPI makefile for AIX64, fix for jump table parsing that could lead to reading an invalid insn, link dyninst against IAPI based on cap_instruction_api rather than in the platform makefiles.

10 years agoRemove old registerIDs source file
Bill Williams [Wed, 28 Apr 2010 22:46:39 +0000 (17:46 -0500)]
Remove old registerIDs source file

10 years agoBug fix: use the correct relocation size everywhere in emitElf-64.
Bill Williams [Wed, 28 Apr 2010 22:09:55 +0000 (17:09 -0500)]
Bug fix: use the correct relocation size everywhere in emitElf-64.

10 years agoDocumentation updates for InstructionAPI.
Bill Williams [Wed, 28 Apr 2010 22:09:35 +0000 (17:09 -0500)]
Documentation updates for InstructionAPI.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Wed, 28 Apr 2010 17:53:20 +0000 (12:53 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoBPatch_binaryEdit::staticExecutableLoaded was poorly named. Changing
Daniel McNulty [Wed, 28 Apr 2010 17:52:53 +0000 (12:52 -0500)]
BPatch_binaryEdit::staticExecutableLoaded was poorly named. Changing
its name to isStaticExecutable (per feedback from others in the group).
This also involves changes to the testsuite.

Fixed some bugs in the rewriter of static binaries:
- was using replaceFunctionCall to replace ctor and dtor handlers -- this
  appears to be having some problems on x86. Instead just instrumented the
  original ctor/dtor handler with a funcJump to the new handler. In retrospect,
  this is the better solution.

- Variables in relocatable files that are in COMMON were not being created
  correctly by Symtab. If a variable is in COMMON, there is no way to have an
  alias for this variable so new variables are created for every COMMON symbol
  that corresponds to a variable.

10 years agoCleanup: replace some clunky bind/eval hackery with a visitor that does the same...
Bill Williams [Fri, 23 Apr 2010 22:20:43 +0000 (17:20 -0500)]
Cleanup: replace some clunky bind/eval hackery with a visitor that does the same thing, only better.

10 years agoCode cleanup: remove dead functions, fully remove old IAPI register enum, move decode...
Bill Williams [Fri, 23 Apr 2010 21:18:07 +0000 (16:18 -0500)]
Code cleanup: remove dead functions, fully remove old IAPI register enum, move decoder impl classes to src/, move entryIDs-IA32 to entryIDs to properly reflect cross-architecture status.
Move ia32_locations struct to common (non-public-header division).
Clean up assorted files that should never again be build without cap_instruction_api to remove old InstrucIter-based implementations.

10 years agoCleanup: separate InstructionDecoderImpl into new files, remove impl files from publi...
Bill Williams [Thu, 22 Apr 2010 20:53:17 +0000 (15:53 -0500)]
Cleanup: separate InstructionDecoderImpl into new files, remove impl files from public headers, use InstructionDecoder::buffer struct, convert Operand storage from vector to list

10 years agoSplit InstructionDecoder into lightweight interface w/value semantics and (mostly...
Bill Williams [Thu, 22 Apr 2010 18:55:02 +0000 (13:55 -0500)]
Split InstructionDecoder into lightweight interface w/value semantics and (mostly) stateless per-architecture strategy class.

10 years agoCorrected flag definitions in arch-x86.C:
Bill Williams [Thu, 22 Apr 2010 17:41:00 +0000 (12:41 -0500)]
Corrected flag definitions in arch-x86.C:
* bsr has the same flag behavior as bsf
* jcxz does not touch flags
* loop does not touch flags, lodsb and lodsw do
* salc reads the carry flag
* test writes the usual set of flags

10 years agoAdded missing IF flags register to RegisterConversion for x86.
Daniel McNulty [Thu, 22 Apr 2010 16:42:44 +0000 (11:42 -0500)]
Added missing IF flags register to RegisterConversion for x86.

10 years agoFix x86-based symbolic evaluation and slicing
Andrew Bernat [Wed, 21 Apr 2010 16:12:45 +0000 (11:12 -0500)]
Fix x86-based symbolic evaluation and slicing

10 years agoDisable slicer debugging.
Andrew Bernat [Tue, 20 Apr 2010 16:00:42 +0000 (11:00 -0500)]
Disable slicer debugging.

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Tue, 20 Apr 2010 15:58:08 +0000 (10:58 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

Conflicts:
symEval/src/slicing.C

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Tue, 20 Apr 2010 14:27:13 +0000 (09:27 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoMerge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst
Bill Williams [Mon, 19 Apr 2010 22:13:34 +0000 (17:13 -0500)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst

10 years agoCheap hack to make SymEval build despite mismatch in predicate parameters.
Bill Williams [Mon, 19 Apr 2010 22:11:43 +0000 (17:11 -0500)]
Cheap hack to make SymEval build despite mismatch in predicate parameters.