10 years agoFixes for StackwalkerAPI on BlueGene
Matthew Legendre [Thu, 22 Jul 2010 21:38:11 +0000 (16:38 -0500)]
Fixes for StackwalkerAPI on BlueGene

10 years agoRemoves cyclic dependency between symEval and parseAPI
Kevin Roundy [Thu, 22 Jul 2010 17:20:49 +0000 (12:20 -0500)]
Removes cyclic dependency between symEval and parseAPI

It turned out that the cyclic dependency I had introduced between
ParseAPI and symEval caused problems on other platforms than Windows.
These build problems only manifested when building from a clean
repository.  As of this commit, the parseAPI no-longer depends on
symEval, and we'll work on a way to allow for slicing to be allowed
in the ParseAPI without introducing cyclic library dependencies.

10 years agoUsing symEval in ParseAPI for slicing, added hybrid analysis code
Paradyn Account [Tue, 13 Jul 2010 17:03:43 +0000 (12:03 -0500)]
Using symEval in ParseAPI for slicing, added hybrid analysis code

This commit gets hybrid analysis closer to working on Dyninst.  As
a part of this effort, I'm using symEval's slicing capabilities
in the ParseAPI so that I can tell if a function tampers with its
call stack to modify its return address.  This introduces a cyclic
dependency between ParseAPI and symEval, which is problematic on
Windows binaries, as cyclic dependencies between dlls are not
allowed.  The solution I used in this commit was to build a single
dll for the two libraries (other platforms continue to produce
separate shared libraries), which seemed reasonable since neither
library will be used without the other anyway.

10 years agoAdd platform "support" for AIX (untested) and Solaris (not built)
Andrew Bernat [Tue, 20 Jul 2010 18:10:59 +0000 (13:10 -0500)]
Add platform "support" for AIX (untested) and Solaris (not built)

10 years agoFor non-IAPI platforms (SPARC), don't try to get the disassembly of an instruction...
Bill Williams [Fri, 16 Jul 2010 19:22:56 +0000 (14:22 -0500)]
For non-IAPI platforms (SPARC), don't try to get the disassembly of an instruction in the test suite.

10 years agoFix for bugfix in test 2-14.
Bill Williams [Fri, 16 Jul 2010 16:28:13 +0000 (11:28 -0500)]
Fix for bugfix in test 2-14.

10 years agoFixes for memory tests:
Bill Williams [Fri, 16 Jul 2010 16:05:43 +0000 (11:05 -0500)]
Fixes for memory tests:

* Reenable the standard execution path, running mutatees and checking their exit codes
* Disable the explicit continuation of mutatees; the framework handles this
* Enable CPUID checking for SSE/MMX/SSE2/3DNow! on 64-bit x86
* Fix many bugs in code generation of x86 (32 and 64 bit) effective address and byte count snippets
* Remove IA64 platform from test spec
* Fix push, pop, call, return to use correct address widths in memory access instrumentation

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Fri, 16 Jul 2010 17:57:32 +0000 (12:57 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoMore fixes for icc on dyn_detail
Matthew Legendre [Fri, 16 Jul 2010 17:56:54 +0000 (12:56 -0500)]
More fixes for icc on dyn_detail

10 years agoUpdated SymEval::expand to ensure that we re-process nodes that were
Emily Jacobson [Fri, 16 Jul 2010 15:16:32 +0000 (10:16 -0500)]
Updated SymEval::expand to ensure that we re-process nodes that were
incomplete during initial passthrough.

10 years agoInitial version of completed backward slicing.
Emily Jacobson [Fri, 16 Jul 2010 15:16:05 +0000 (10:16 -0500)]
Initial version of completed backward slicing.

10 years agosymEval fixes to conform to ROSE expectations.
Emily Jacobson [Fri, 16 Jul 2010 15:15:25 +0000 (10:15 -0500)]
symEval fixes to conform to ROSE expectations.

10 years agoFixed IA_IAPI::isMovAPSTAble() bug that allowed us to accidentally
Emily Jacobson [Fri, 16 Jul 2010 15:13:42 +0000 (10:13 -0500)]
Fixed IA_IAPI::isMovAPSTAble() bug that allowed us to accidentally
decode past the end of a section.

10 years agoAdded Graph::markAsEntryNode() and Graph::markAsExitNode(),
Emily Jacobson [Fri, 16 Jul 2010 15:13:07 +0000 (10:13 -0500)]
Added Graph::markAsEntryNode() and Graph::markAsExitNode(),
which were needed for slicing.

10 years agodyn_detail fix for icc compilers
Matthew Legendre [Thu, 15 Jul 2010 19:53:59 +0000 (14:53 -0500)]
dyn_detail fix for icc compilers

10 years agoUpdated Dyninst solution and project files for Windows
Kevin Roundy [Mon, 12 Jul 2010 18:12:21 +0000 (13:12 -0500)]
Updated Dyninst solution and project files for Windows

10 years agoFixes Windows build errors cause by my last commit
Kevin Roundy [Mon, 12 Jul 2010 17:18:39 +0000 (12:18 -0500)]
Fixes Windows build errors cause by my last commit

In my last commit I failed to merge these fixes;
without them the Windows platform was not building.
The fixes are to code that only triggers on
the Windows platform, with the exception of the
mapped_object::isSystemLib function which I modified
to make it static so that we can determine whether an
object is a system library prior to parsing it.

10 years agoFix build error on gcc 4.3.0+
Bill Williams [Mon, 12 Jul 2010 16:07:59 +0000 (11:07 -0500)]
Fix build error on gcc 4.3.0+

10 years agoAdded hybrid analysis modes, not fully functional.
Kevin Roundy [Mon, 12 Jul 2010 04:43:47 +0000 (23:43 -0500)]
Added hybrid analysis modes, not fully functional.

This commit adds three analysis modes, BPatch_normalMode,
which is the default and the only mode to trigger at present,
BPatch_exploratoryMode, which causes runtime instrumentation
of unresolved indirect control transfers and thereby may
discover additional code at runtime (not fully functional
yet), and BPatch_defensiveMode, which assumes that the binary
is defensive, possibly self-unpacking and self-modifying.

Also, this commit should fix the Windows failures that popped
up this weekend after an upgrade to VS2008 project and solution

10 years agoFix bug related to splitting calls into assignment representations.
Andrew Bernat [Fri, 9 Jul 2010 22:26:39 +0000 (17:26 -0500)]
Fix bug related to splitting calls into assignment representations.

10 years agoMove Windows to VC2008; fix SymEval build errors related to Windows
Andrew Bernat [Fri, 18 Jun 2010 14:55:25 +0000 (09:55 -0500)]
Move Windows to VC2008; fix SymEval build errors related to Windows

10 years agoBad Makefile definition was copying headers unnecessarily
Nathan Rosenblum [Fri, 9 Jul 2010 21:01:12 +0000 (16:01 -0500)]
Bad Makefile definition was copying headers unnecessarily

10 years agoproperly link unresolvable indirect branches to sink block
Nathan Rosenblum [Fri, 9 Jul 2010 19:52:21 +0000 (14:52 -0500)]
properly link unresolvable indirect branches to sink block

10 years agomissing constructor
Nathan Rosenblum [Mon, 5 Jul 2010 15:40:06 +0000 (10:40 -0500)]
missing constructor

10 years agoAn error when creating symbols for relocated code and instrumentation
Nathan Rosenblum [Fri, 2 Jul 2010 15:21:50 +0000 (10:21 -0500)]
An error when creating symbols for relocated code and instrumentation
prevented most such symbols from being created.

10 years agoUse current block's CodeRegion for lookups and to calculate instruction
Nathan Rosenblum [Fri, 2 Jul 2010 14:06:41 +0000 (09:06 -0500)]
Use current block's CodeRegion for lookups and to calculate instruction
decoding regions during parsign; control flow can span multiple regions

10 years agoStop resetting gap parsing iterator after initial reset.
Nathan Rosenblum [Wed, 30 Jun 2010 23:22:03 +0000 (18:22 -0500)]
Stop resetting gap parsing iterator after initial reset.

10 years agoPremble heuristic-based gap parsing missed code when run on binaries
Nathan Rosenblum [Wed, 30 Jun 2010 23:17:23 +0000 (18:17 -0500)]
Premble heuristic-based gap parsing missed code when run on binaries
with no existing functions

10 years agoBuild fix
Nathan Rosenblum [Wed, 30 Jun 2010 21:59:00 +0000 (16:59 -0500)]
Build fix

10 years agoTwo tests were testing the wrong test conditions.
Nathan Rosenblum [Wed, 30 Jun 2010 21:45:41 +0000 (16:45 -0500)]
Two tests were testing the wrong test conditions.

10 years agoFix program header rewriting. Ensure that loadable segments and sections
Nathan Rosenblum [Wed, 30 Jun 2010 20:54:46 +0000 (15:54 -0500)]
Fix program header rewriting. Ensure that loadable segments and sections
are emitted in the proper order (sorted by virtual address in both cases).

Fixes a bug where emitting existing sections without creating a new
section caused a null pointer dereference.

Ensures that the loadable segment created to hold new sections is placed
such that it won't clobber other loadable segments.

10 years agoBe consistent on what constitutes a hash over an entryID regardless of
Nathan Rosenblum [Thu, 24 Jun 2010 20:43:46 +0000 (15:43 -0500)]
Be consistent on what constitutes a hash over an entryID regardless of
the GCC version used to compile.

10 years agoFix for test 2-14 crash on Windows--don't leave a deleted BPatch_process lying around.
Bill Williams [Tue, 29 Jun 2010 22:19:20 +0000 (17:19 -0500)]
Fix for test 2-14 crash on Windows--don't leave a deleted BPatch_process lying around.

10 years agoBacking out more accidental commit changes.
Emily Jacobson [Tue, 29 Jun 2010 20:55:19 +0000 (15:55 -0500)]
Backing out more accidental commit changes.

10 years agoBacked out accidental commit changes.
Emily Jacobson [Tue, 29 Jun 2010 19:24:44 +0000 (14:24 -0500)]
Backed out accidental commit changes.

10 years agoContinuing to add support for library fingerprinting
Emily Jacobson [Tue, 29 Jun 2010 18:57:06 +0000 (13:57 -0500)]
Continuing to add support for library fingerprinting

10 years agoFixed bug in backward slicing that required different code than the forward implement...
Emily Jacobson [Tue, 29 Jun 2010 18:19:28 +0000 (13:19 -0500)]
Fixed bug in backward slicing that required different code than the forward implementation.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Emily Jacobson [Mon, 28 Jun 2010 16:07:04 +0000 (11:07 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst


10 years agoIntegrating library fingerprinting with ParseAPI. Still a work in progress.
Emily Jacobson [Mon, 28 Jun 2010 16:05:41 +0000 (11:05 -0500)]
Integrating library fingerprinting with ParseAPI. Still a work in progress.

10 years agoFix for AIX zombies.
Bill Williams [Fri, 25 Jun 2010 22:37:33 +0000 (17:37 -0500)]
Fix for AIX zombies.

10 years agoRe-merge push bugfix.
Bill Williams [Fri, 25 Jun 2010 22:16:26 +0000 (17:16 -0500)]
Re-merge push bugfix.

10 years agoAdd padding to ensure correct structure alignment.
Andrew Bernat [Fri, 25 Jun 2010 20:58:06 +0000 (15:58 -0500)]
Add padding to ensure correct structure alignment.

10 years agoMerge branch 'master' into devel
Todd Frederick [Fri, 25 Jun 2010 16:11:25 +0000 (11:11 -0500)]
Merge branch 'master' into devel

10 years agoAdd ParseAPI Function accessor to BPatch_function
Todd Frederick [Fri, 25 Jun 2010 16:10:34 +0000 (11:10 -0500)]
Add ParseAPI Function accessor to BPatch_function

10 years agoSymEval: Fix bad merge
Todd Frederick [Fri, 25 Jun 2010 15:32:19 +0000 (10:32 -0500)]
SymEval: Fix bad merge

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Thu, 24 Jun 2010 19:28:35 +0000 (14:28 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agoRemove stackanalysis.C from Dyninst makefiles
Andrew Bernat [Thu, 24 Jun 2010 18:33:23 +0000 (13:33 -0500)]
Remove stackanalysis.C from Dyninst makefiles

10 years agoMerge branch 'master' into devel
Todd Frederick [Thu, 24 Jun 2010 15:46:50 +0000 (10:46 -0500)]
Merge branch 'master' into devel


10 years agoFurther fix to stackwalk address translation
Kevin Roundy [Wed, 23 Jun 2010 21:25:40 +0000 (16:25 -0500)]
Further fix to stackwalk address translation

Internal to Dyninst, the function Frame::getUninstAddr was inconsistent, it
translates relocated addresses to original ones, but addresses that correspond
to instrumentation are translated to relocated addresses and not original ones.

10 years agoBugfixes
Andrew Bernat [Wed, 23 Jun 2010 21:02:05 +0000 (16:02 -0500)]

10 years agoAdd SYMEVAL_EXPORT macro
Andrew Bernat [Wed, 23 Jun 2010 19:25:17 +0000 (14:25 -0500)]

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 23 Jun 2010 18:59:28 +0000 (13:59 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst


10 years agoEnsure that instruction instances have the correct addresses.
Andrew Bernat [Wed, 23 Jun 2010 16:50:17 +0000 (11:50 -0500)]
Ensure that instruction instances have the correct addresses.

10 years agoFix a problem where lower_bound returned tree_.end()
Andrew Bernat [Wed, 23 Jun 2010 16:49:57 +0000 (11:49 -0500)]
Fix a problem where lower_bound returned tree_.end()

10 years agoWindows exporting of libcommon elements
Andrew Bernat [Wed, 23 Jun 2010 18:24:11 +0000 (13:24 -0500)]
Windows exporting of libcommon elements
De-templating of symEval classes

10 years agoMove annotatable and NoSinkPredicate to ParseAPI; add return blocks accessor method.
Andrew Bernat [Fri, 18 Jun 2010 14:54:37 +0000 (09:54 -0500)]
Move annotatable and NoSinkPredicate to ParseAPI; add return blocks accessor method.

Move NoSinkPredicate to ParseAPI

10 years agoParseAPI merge
Andrew Bernat [Tue, 15 Jun 2010 21:16:25 +0000 (16:16 -0500)]
ParseAPI merge

Refactoring of SymEval to remove unnecessary templates and to get it to build on windows.

Move stackanalysis to SymEval.

Remove (moved) stackanalysis.C from dyninst makefile

10 years agoFixes for stackwalking and instrumentation cleanup
Kevin Roundy [Wed, 23 Jun 2010 18:17:12 +0000 (13:17 -0500)]
Fixes for stackwalking and instrumentation cleanup

Currently, the PC values in BPatch_frames created by BPatch_thread::getCallStack API functions can correspond to relocated functions and therefore make little sense to an external user.  With this commit I'm causing these PC values to be translated to original addresses.

This commit also fixes a failure that I introduced in yesterday's commit; I had added a sanity check assert that mad incorrect assumptions about BPatch_point's instrumentation datastructures.

10 years agoRecent GCC versions require explicit inclusion of header files like
Nathan Rosenblum [Wed, 23 Jun 2010 16:08:02 +0000 (12:08 -0400)]
Recent GCC versions require explicit inclusion of header files like

10 years agoAdded 'syscall' interprocedural return type for callbacks.
Nathan Rosenblum [Tue, 22 Jun 2010 19:19:25 +0000 (14:19 -0500)]
Added 'syscall' interprocedural return type for callbacks.

10 years agoNewer versions of GCC don't automagically include stdint.h
Nathan Rosenblum [Tue, 22 Jun 2010 19:03:35 +0000 (14:03 -0500)]
Newer versions of GCC don't automagically include stdint.h

10 years agoLoops can have multiple back edges and cleaned up instrumentation removal
Kevin Roundy [Tue, 22 Jun 2010 15:10:49 +0000 (10:10 -0500)]
Loops can have multiple back edges and cleaned up instrumentation removal

1. In a previous commit I resolved a bug in our creation of a hierarchy between the natural loops in a function so that two loops with different back edges but the same set of nodes would not be assigned to be each other's parents.  This solution was unsatisfactory because it could cause confusion to a user that instruments both loops.  With this commit, if multiple back edges define a loop with the same set of blocks, we create a single loop with multiple back edges.  This required the creation of a new API function:

// returns the # of back edges and loads the edges vector
int BPatch_basicBlockLoop::getBackEdges (BPatch_Vector<BPatch_edge*> &edges);

Here is an example of two natural loops comprising the same set of nodes that are defined by two back edges, the edge from 2 to 1 and the edge from 3 to 1.
   /    \
   1<-\ |
   |  | |
/->2--/ |
|  |    |
|  3----/
\  |

2. Instrumentation removal (through BPatch_addressSpace::deleteSnippet) was leaving dangling pointers to BPatchSnippetHandles in BPatch_point objects.  I fixed this by having deleteSnippet invoke a new function in  BPatch_point to have it clean up its datastructures.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Kevin Roundy [Tue, 22 Jun 2010 14:26:21 +0000 (09:26 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoFix problem with StackwalkerAPI create on SLURM (LLNL) systems.
Matthew Legendre [Mon, 21 Jun 2010 21:22:55 +0000 (16:22 -0500)]
Fix problem with StackwalkerAPI create on SLURM (LLNL) systems.

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Mon, 21 Jun 2010 20:24:56 +0000 (15:24 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoFixes for trap handling on BG/P
Matthew Legendre [Mon, 21 Jun 2010 20:21:21 +0000 (15:21 -0500)]
Fixes for trap handling on BG/P

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Kevin Roundy [Mon, 21 Jun 2010 15:55:32 +0000 (10:55 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Fri, 18 Jun 2010 15:20:14 +0000 (10:20 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoFix issue where ProcControlAPI would not accept callbacks until a process had been...
Matthew Legendre [Fri, 18 Jun 2010 15:20:02 +0000 (10:20 -0500)]
Fix issue where ProcControlAPI would not accept callbacks until a process had been created/attached.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Kevin Roundy [Fri, 18 Jun 2010 14:32:04 +0000 (09:32 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoMerge branch 'master' into devel
Todd Frederick [Thu, 17 Jun 2010 20:28:57 +0000 (15:28 -0500)]
Merge branch 'master' into devel

10 years agoSymEval: add accessor for heap absloc address
Todd Frederick [Thu, 17 Jun 2010 20:26:33 +0000 (15:26 -0500)]
SymEval: add accessor for heap absloc address

10 years agoAllow tests to use `uninstrumentable' functions from static libraries (where
Nathan Rosenblum [Wed, 16 Jun 2010 21:12:50 +0000 (16:12 -0500)]
Allow tests to use `uninstrumentable' functions from static libraries (where
all functions are uninstrumentable at the present time) for function
replacement and similar non-instrumenting purposes.

10 years agoSanity check the entries of jump tables assumed to be relative; if
Nathan Rosenblum [Wed, 16 Jun 2010 21:06:27 +0000 (16:06 -0500)]
Sanity check the entries of jump tables assumed to be relative; if
the values are outside of the code range, default to absolute mode.

10 years agoRefactoring slicing code to unify forward/backward slicing.
Andrew Bernat [Wed, 16 Jun 2010 19:30:43 +0000 (14:30 -0500)]
Refactoring slicing code to unify forward/backward slicing.

10 years agoFixes parent calculation for natural loops
Kevin Roundy [Wed, 2 Jun 2010 20:45:52 +0000 (15:45 -0500)]
Fixes parent calculation for natural loops

This commit fixes a bug in our creation of a hierarchy between
the natural loops in a function.  In particular, if there are
multiple natural loops with different back edges, but the same
set of basic blocks, we assign the loops to be each other's
parents in the hierarchy, creating a loopy hierarchy of loops.
With this commit, we no longer assign a loop to be a parent of
another loop of the same size.

10 years agoFixed bug symtabAPI's symbol parsing, bad bounds check for symbol addresses.
Kevin Roundy [Mon, 19 Apr 2010 21:26:02 +0000 (16:26 -0500)]
Fixed bug symtabAPI's symbol parsing, bad bounds check for symbol addresses.

SymtabAPI's Object class for windows PE binaries contains an isText function
that checks that symbol addresses are valid, but the check was wrong,
'addr < code_len_' instead of 'addr < (code_off_ + code_len_)'.  Fixed.

10 years agoWe were previously not decoding the x86 loop instructions (opcodes 0xe0 - 0xe2) as...
Kevin Roundy [Wed, 3 Feb 2010 00:10:59 +0000 (18:10 -0600)]
We were previously not decoding the x86 loop instructions (opcodes 0xe0 - 0xe2) as conditional jumps, and were not generating proper code for relocated loop instructions.  This fix causes us to decode these instructions as pc-relative jumps and generate appropriate code for them.  In the process of fixing this bug I fixed a bug in pcRelJcc::maxSize, which was estimating the maximum size of a relocated pc-relative conditional jump to be 6 bytes, but we sometimes replace these jumps with a 7-byte instruction sequence.

10 years agoSymEval: fix missing header file
Todd Frederick [Wed, 16 Jun 2010 16:36:59 +0000 (11:36 -0500)]
SymEval: fix missing header file

10 years agoParseAPI: add missing include
Todd Frederick [Wed, 16 Jun 2010 16:01:52 +0000 (11:01 -0500)]
ParseAPI: add missing include

10 years agoPrevent duplicate entries from entering the Function call edge cache
Nathan Rosenblum [Wed, 16 Jun 2010 13:28:12 +0000 (08:28 -0500)]
Prevent duplicate entries from entering the Function call edge cache

10 years agoRemove erroneous symEval dependency.
Andrew Bernat [Wed, 16 Jun 2010 15:16:43 +0000 (10:16 -0500)]
Remove erroneous symEval dependency.

10 years agoRemove warnings about use of uninitialized variables.
Andrew Bernat [Wed, 16 Jun 2010 15:16:31 +0000 (10:16 -0500)]
Remove warnings about use of uninitialized variables.

10 years agoMerge branch 'master' into devel
Todd Frederick [Wed, 16 Jun 2010 13:48:57 +0000 (08:48 -0500)]
Merge branch 'master' into devel


10 years agoIAPI: Use correct memory write operand for push
Todd Frederick [Wed, 16 Jun 2010 13:23:07 +0000 (08:23 -0500)]
IAPI: Use correct memory write operand for push

11 years agoMerge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst
Bill Williams [Tue, 15 Jun 2010 21:47:16 +0000 (16:47 -0500)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst

11 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Tue, 15 Jun 2010 21:22:26 +0000 (16:22 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

11 years agoFix compilation errors in slicing component; it now works on top of ParseAPI.
Andrew Bernat [Tue, 15 Jun 2010 18:20:30 +0000 (13:20 -0500)]
Fix compilation errors in slicing component; it now works on top of ParseAPI.

11 years agoSymEval: fix spurious merge line
Todd Frederick [Tue, 15 Jun 2010 17:03:23 +0000 (12:03 -0500)]
SymEval: fix spurious merge line

11 years agoBug fix: push writes to *(stack ptr - operand size), not *(stack ptr).
Bill Williams [Mon, 14 Jun 2010 17:58:00 +0000 (12:58 -0500)]
Bug fix: push writes to *(stack ptr - operand size), not *(stack ptr).

11 years agoMerge branch 'master' into devel
Todd Frederick [Tue, 15 Jun 2010 16:42:01 +0000 (11:42 -0500)]
Merge branch 'master' into devel

11 years agoMerging parseAPI
Andrew Bernat [Tue, 15 Jun 2010 16:38:44 +0000 (11:38 -0500)]
Merging parseAPI

11 years agoSymEval: disable slicing temorarily
Todd Frederick [Tue, 15 Jun 2010 16:37:31 +0000 (11:37 -0500)]
SymEval: disable slicing temorarily

11 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst into merge
Emily Jacobson [Tue, 15 Jun 2010 16:34:34 +0000 (11:34 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst into merge

11 years agoReturn matching endpoints for interval-query lookups with zero-length
Nathan Rosenblum [Tue, 15 Jun 2010 16:14:33 +0000 (11:14 -0500)]
Return matching endpoints for interval-query lookups with zero-length

11 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst into merge
Emily Jacobson [Tue, 15 Jun 2010 16:27:41 +0000 (11:27 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst into merge


11 years agoBackwards slicing
Emily Jacobson [Tue, 15 Jun 2010 16:20:45 +0000 (11:20 -0500)]
Backwards slicing

11 years agoSymEval: use appropriate interfaces to get arch and address size
Todd Frederick [Tue, 15 Jun 2010 15:57:37 +0000 (10:57 -0500)]
SymEval: use appropriate interfaces to get arch and address size

11 years agoMerge branch 'master' into devel
Todd Frederick [Mon, 14 Jun 2010 21:09:39 +0000 (16:09 -0500)]
Merge branch 'master' into devel


11 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).