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

Conflicts:
symEval/h/Absloc.h
symEval/h/SymEval.h
symEval/make.module.tmpl
symEval/src/SymEval.C
symEval/src/convertOpcodes.C

9 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.

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

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

9 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

Conflicts:
parseAPI/h/CFG.h

9 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.

9 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()

9 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

9 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

9 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

9 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.

9 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
stdio.h

9 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.

9 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

9 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----/
\  |
 --4

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.

9 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

9 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.

9 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

9 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

9 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

9 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

9 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.

9 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

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

9 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

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

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

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

9 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

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

9 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.

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

Conflicts:
symEval/src/SymEval.C

9 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

9 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

9 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.

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

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

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

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

9 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

9 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
intervals.

9 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

Conflicts:
dyninstAPI/src/image-flowGraph.C
symEval/h/slicing.h
symEval/src/slicing.C

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

9 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

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

Conflicts:
dyninstAPI/src/codegen-x86.C
instructionAPI/h/entryIDs.h

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

9 years agoSymEval: make extract sizes explicit
Todd Frederick [Mon, 14 Jun 2010 13:56:07 +0000 (08:56 -0500)]
SymEval: make extract sizes explicit

9 years agoProcControl: Initial handling of Linux segment base address registers
Todd Frederick [Fri, 11 Jun 2010 19:23:47 +0000 (14:23 -0500)]
ProcControl: Initial handling of Linux segment base address registers

9 years agosymEval: make stack analysis optional
Todd Frederick [Wed, 9 Jun 2010 16:59:52 +0000 (11:59 -0500)]
symEval: make stack analysis optional

9 years agoSplit entry IDs of instructions with opcodes overloaded on operand size
Todd Frederick [Mon, 7 Jun 2010 16:56:50 +0000 (11:56 -0500)]
Split entry IDs of instructions with opcodes overloaded on operand size

9 years agosymEval: store size of memory writes
Todd Frederick [Fri, 4 Jun 2010 19:51:32 +0000 (14:51 -0500)]
symEval: store size of memory writes

9 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

9 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.

9 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.

9 years agosymEval: correctly store lengths of memory derefs
Todd Frederick [Thu, 3 Jun 2010 17:02:18 +0000 (12:02 -0500)]
symEval: correctly store lengths of memory derefs

9 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

9 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.

9 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.

9 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

9 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.

9 years agoMerge branch 'master' into devel
Todd Frederick [Tue, 1 Jun 2010 13:41:36 +0000 (08:41 -0500)]
Merge branch 'master' into devel

9 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.

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

9 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.

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

9 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.

9 years agoIAPI: Fix address size interpretation of SI/DI regs
Todd Frederick [Thu, 27 May 2010 20:41:59 +0000 (15:41 -0500)]
IAPI: Fix address size interpretation of SI/DI regs

9 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

9 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

9 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.

9 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

9 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

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

9 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

9 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

9 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.

9 years agoSymEval: Remove duplicate dereference of LEA
Todd Frederick [Wed, 26 May 2010 15:34:55 +0000 (10:34 -0500)]
SymEval: Remove duplicate dereference of LEA

9 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.

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

9 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".

9 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.

9 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

9 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

9 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

9 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

9 years agoMerge branch 'master' into devel
Todd Frederick [Mon, 24 May 2010 13:52:29 +0000 (08:52 -0500)]
Merge branch 'master' into devel

Conflicts:
instructionAPI/src/Operation.C

9 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

9 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

9 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

9 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

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

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

9 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

9 years agoKeep track of x86 repeat prefixes for ROSE
Todd Frederick [Thu, 20 May 2010 16:38:20 +0000 (11:38 -0500)]
Keep track of x86 repeat prefixes for ROSE

9 years agoInstructionAPI: fix duplicated operands in jump instructions
Todd Frederick [Thu, 20 May 2010 13:31:39 +0000 (08:31 -0500)]
InstructionAPI: fix duplicated operands in jump instructions