dyninst.git
9 years agoMerge branch 'Kevin-Drew' of ssh://cumin.cs.wisc.edu/p/paradyn/development/roundy...
Kevin Roundy [Tue, 25 Jan 2011 21:20:11 +0000 (15:20 -0600)]
Merge branch 'Kevin-Drew' of ssh://cumin.cs.wisc.edu/p/paradyn/development/roundy/g0/dyninst into Kevin-Drew

9 years ago(partial fix) to parsing into garbage code
Kevin Roundy [Tue, 25 Jan 2011 21:17:49 +0000 (15:17 -0600)]
(partial fix) to parsing into garbage code

Adds to the list of "weird" instructions that are indicators of a
bad parse, and doesn't add call edges from indirect control transfers
to functions that are probably invalid.

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Tue, 25 Jan 2011 19:52:03 +0000 (13:52 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

9 years agoadds fixup for fault-raising emulated insn's & adds whole-function removal
Kevin Roundy [Tue, 25 Jan 2011 19:51:30 +0000 (13:51 -0600)]
adds fixup for fault-raising emulated insn's & adds whole-function removal

- Deep-function removal now exists in its own function,
BPatch_module::removeFunction
- Fault-raising emulated instructions were a problem since the effective
address is still in one of the registers, which needs to get reset to its
own value.

9 years agoPrototype for subrange-capable virtualFree handling
Andrew Bernat [Tue, 25 Jan 2011 16:39:02 +0000 (10:39 -0600)]
Prototype for subrange-capable virtualFree handling

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Mon, 24 Jan 2011 19:58:50 +0000 (13:58 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

9 years agoAdding edges for tamper_abs stack tamper targets
Kevin Roundy [Mon, 24 Jan 2011 19:57:34 +0000 (13:57 -0600)]
Adding edges for tamper_abs stack tamper targets

9 years agoRevert MachRegister::names to a pointer
Andrew Bernat [Mon, 24 Jan 2011 19:48:37 +0000 (13:48 -0600)]
Revert MachRegister::names to a pointer

9 years agoRevert MachRegister::names to a pointer to avoid an ordering problem in static constr...
Andrew Bernat [Mon, 24 Jan 2011 19:47:50 +0000 (13:47 -0600)]
Revert MachRegister::names to a pointer to avoid an ordering problem in static construction.

9 years agoMerge branch 'Kevin-Drew' of git.dyninst.org:/pub/dyninst into Kevin-Drew
Andrew Bernat [Mon, 24 Jan 2011 15:59:27 +0000 (09:59 -0600)]
Merge branch 'Kevin-Drew' of git.dyninst.org:/pub/dyninst into Kevin-Drew

9 years agoPrototype fix for incorrect blocks in sharing functions
Andrew Bernat [Mon, 24 Jan 2011 15:59:16 +0000 (09:59 -0600)]
Prototype fix for incorrect blocks in sharing functions

Conflicts:

parseAPI/src/Parser.C

9 years agoFixes codegen bug, moves BPatch_point enums to BPatch_enums.h
Kevin Roundy [Sun, 23 Jan 2011 07:24:04 +0000 (01:24 -0600)]
Fixes codegen bug, moves BPatch_point enums to BPatch_enums.h

- Superfluous segment prefix instructions were causing problems for
codegen whenever there was more than one of them, fixed.
- Moved BPatch_point enums to BPatch_enums.h, had to touch lots of
files because of this change, sorry!  The header files include
each other much less now, though, which is good.

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Fri, 21 Jan 2011 22:58:32 +0000 (16:58 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

Conflicts:
dyninstAPI/src/Relocation/Springboard.C
dyninstAPI/src/mapped_object.C

9 years agoparse after overwrite, jcc codegen, springboards, newEdgeParse ordering
Kevin Roundy [Fri, 21 Jan 2011 22:55:00 +0000 (16:55 -0600)]
parse after overwrite, jcc codegen, springboards, newEdgeParse ordering

- Were parsing a function N times after it had been overwritten if there
were N calls to the function.
- Conditional jumps that have segment prefixes were not getting,
generated properly because we were assuming there are no prefixes;
segment-selector prefixes are superfluous and we can ignore them
- After parsing new edges, we were invalidating PC sensitivity analysis
too soon, when datastructures were inconsistent, moved the invalidation
down.

9 years agoEnsure that we don't remove blocks that consist only of branches during relocation.
Andrew Bernat [Fri, 21 Jan 2011 22:49:36 +0000 (16:49 -0600)]
Ensure that we don't remove blocks that consist only of branches during relocation.

9 years agoSupport VirtualFree
Andrew Bernat [Fri, 21 Jan 2011 22:49:17 +0000 (16:49 -0600)]
Support VirtualFree

9 years agoCorrectly handle adding inter-object edges
Andrew Bernat [Fri, 21 Jan 2011 22:49:03 +0000 (16:49 -0600)]
Correctly handle adding inter-object edges

9 years agoSupport VirtualFree
Andrew Bernat [Fri, 21 Jan 2011 22:48:26 +0000 (16:48 -0600)]
Support VirtualFree

9 years agoAdd support for VirtualFree
Andrew Bernat [Fri, 21 Jan 2011 22:47:59 +0000 (16:47 -0600)]
Add support for VirtualFree

9 years agoFix merge failures; ensure that we don't omit blocks that consist only of branches...
Andrew Bernat [Fri, 21 Jan 2011 22:45:41 +0000 (16:45 -0600)]
Fix merge failures; ensure that we don't omit blocks that consist only of branches when relocating.

9 years agoHideDebugger SuspendThread, updateCodeBytes, springboards, merge fix
Kevin Roundy [Thu, 20 Jan 2011 21:51:39 +0000 (15:51 -0600)]
HideDebugger SuspendThread, updateCodeBytes, springboards, merge fix

- Patches out SuspendThread, needs to change it to disable
conditionally.
- updateCodeBytes was failing because it relies on the protPages_
datastructure which wasn't being purged of pages that used to
have code but don't any more (e.g., if we overwrite the entry
point of the program).
- Springboard bug, if a springboard gets overwritten and becomes
big enough to accommodate a trap, old relocations that needed a
trap were getting branches.
- My merge with the previous commit didn't resolve all conflicts

9 years agoMerge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst...
Kevin Roundy [Tue, 18 Jan 2011 21:35:23 +0000 (15:35 -0600)]
Merge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst into Kevin-Drew

9 years agosigHandler handling, hideDebugger, shared lib instrum., rdtsc parse output
Kevin Roundy [Tue, 18 Jan 2011 21:31:12 +0000 (15:31 -0600)]
sigHandler handling, hideDebugger, shared lib instrum., rdtsc parse output

The faultInsnAddr in the EXCEPTION_RECORD for int3's is one less
than the PC at which the program resumes execution, and I wasn't
taking that into account.  There was also a bug in the code that
patches in a different address at which to resume execution after
the exception.
 HideDebugger wasn't patching BlockInput properly, since we wind
up having to relocate the function to figure out where it returns
to, and were therefore executing the unpatched version.
 The parser now produces output when it hits instructions that
might be used to detect us: like rdtsc and sldt.
 Skirts problems related to not being able to re-instate write
protections for a page in Yoda's Protector that's accessed by
kernel32.dll 0x7c864143 by handling the violation and restoring
write permissions before the page executes, whenever this occurs
for an instruction in a non-defensive library, as it shouldn't
actually be overwriting code.

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Tue, 18 Jan 2011 21:16:25 +0000 (15:16 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

Conflicts:
dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
dyninstAPI/src/hybridInstrumentation.C

9 years agoActually fix the springboard bug...
Andrew Bernat [Tue, 18 Jan 2011 18:06:28 +0000 (12:06 -0600)]
Actually fix the springboard bug...

9 years agoSet a function as returning if it contains a return block.
Andrew Bernat [Tue, 18 Jan 2011 16:35:56 +0000 (10:35 -0600)]
Set a function as returning if it contains a return block.

9 years agoInstrument _all_ functions containing a return if we believe any of the returns don...
Andrew Bernat [Tue, 18 Jan 2011 16:35:31 +0000 (10:35 -0600)]
Instrument _all_ functions containing a return if we believe any of the returns don't follow normal behavior.

9 years agoRe-enable sensitivity analysis.
Andrew Bernat [Tue, 18 Jan 2011 16:34:54 +0000 (10:34 -0600)]
Re-enable sensitivity analysis.

9 years agoUse a springboard for targets of an indirect branch, even if both the source and...
Andrew Bernat [Tue, 18 Jan 2011 16:34:41 +0000 (10:34 -0600)]
Use a springboard for targets of an indirect branch, even if both the source and target were moved.

9 years agoKey old springboards by function entry address rather than function pointer, as we...
Andrew Bernat [Tue, 18 Jan 2011 16:34:22 +0000 (10:34 -0600)]
Key old springboards by function entry address rather than function pointer, as we can delete and recreate functions.

9 years agoDon't assert when translating an unknown register; this happens when we parse and...
Andrew Bernat [Tue, 18 Jan 2011 16:33:50 +0000 (10:33 -0600)]
Don't assert when translating an unknown register; this happens when we parse and analyze garbage code.

9 years agoUse correct semantics for odd-sized push/pop operations.
Andrew Bernat [Tue, 18 Jan 2011 16:33:15 +0000 (10:33 -0600)]
Use correct semantics for odd-sized push/pop operations.

9 years agoFixes to signal handling, BPatch_paramExpr, and int3 parsing
Kevin Roundy [Mon, 17 Jan 2011 19:38:15 +0000 (13:38 -0600)]
Fixes to signal handling, BPatch_paramExpr, and int3 parsing

Fixes signal-handler instrumentation to work with single-block signal handlers
Fixes BPatch_paramExpr when applied to function entries that are also call sites
Fixes parsing of the int3 expression to add an edge to the sink block, which makes sense and fixes pc-emulation
We rely on PC sensitivity analysis now rather than always assuming failure as before
Replaces BPatch_hybridAnalysis.h with BPatch_enums.h and moves some globally visible enums into it
Removed unnecessary #includes from BPatch header files
Debugging output cleanup

Signed-off-by: Kevin Roundy <roundy@cs.wisc.edu>
9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Thu, 13 Jan 2011 17:27:49 +0000 (11:27 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

9 years agoDisable printing of return-value slices.
Andrew Bernat [Thu, 13 Jan 2011 17:26:57 +0000 (11:26 -0600)]
Disable printing of return-value slices.

9 years agoFix decoding of absolute operands
Andrew Bernat [Thu, 13 Jan 2011 17:26:44 +0000 (11:26 -0600)]
Fix decoding of absolute operands

9 years agoFix two stack analysis errors. Fix "last instruction" comparison, and manually cast...
Andrew Bernat [Thu, 13 Jan 2011 17:26:35 +0000 (11:26 -0600)]
Fix two stack analysis errors. Fix "last instruction" comparison, and manually cast byte-signed offsets.

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Thu, 13 Jan 2011 15:31:34 +0000 (09:31 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

Conflicts:
dyninstAPI/src/MemoryEmulator/memEmulatorAtom.C

9 years agoDisabled some incorrect asserts and inserted handler code.
Andrew Bernat [Thu, 13 Jan 2011 15:28:08 +0000 (09:28 -0600)]
Disabled some incorrect asserts and inserted handler code.

9 years agoShift the stack pointer down before executing Dyninst code to ensure we don't stomp...
Andrew Bernat [Thu, 13 Jan 2011 15:27:49 +0000 (09:27 -0600)]
Shift the stack pointer down before executing Dyninst code to ensure we don't stomp program bytes.

9 years agoFix bug in decoding far calls.
Andrew Bernat [Thu, 13 Jan 2011 15:26:45 +0000 (09:26 -0600)]
Fix bug in decoding far calls.

9 years agoMinor overwrite fixes plus debugging output
Kevin Roundy [Wed, 12 Jan 2011 23:46:28 +0000 (17:46 -0600)]
Minor overwrite fixes plus debugging output

9 years agoOverwrite optimizations and synch fix
Kevin Roundy [Wed, 12 Jan 2011 21:23:21 +0000 (15:23 -0600)]
Overwrite optimizations and synch fix

Wasn't synchronizing shadow-original memory sometimes
because of a poorly-thought out optimization.  Overwrite
loops can contain unresolved indirect control flow now, the
control transfers will be exit edges.  However, this isn't as
helpful as it may sound, since the loop won't contain many
edges with indirect control transfers as they are probably
assumed to be non-returning.

9 years agoMerge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst...
Kevin Roundy [Tue, 11 Jan 2011 17:40:21 +0000 (11:40 -0600)]
Merge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst into Kevin-Drew

Conflicts:
dyninstAPI/src/pdwinnt.C
parseAPI/src/IA_x86.C

9 years agoFixes indirect control transfer relocation
Kevin Roundy [Tue, 11 Jan 2011 16:02:01 +0000 (10:02 -0600)]
Fixes indirect control transfer relocation

Indirect control transfers that have been seen resolving to some targets get
CFG edges, and this was causing us to relocate them as direct control transfers
rather than treating them as indirect control transfers.

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Tue, 11 Jan 2011 16:00:24 +0000 (10:00 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

9 years agoDebugging assistance: disable stack rounding and flag saves; also print eflags when...
Andrew Bernat [Mon, 10 Jan 2011 23:20:30 +0000 (17:20 -0600)]
Debugging assistance: disable stack rounding and flag saves; also print eflags when at a debugging breakpoint

9 years agoAdded prototype debugging info for trapping at each block.
Andrew Bernat [Mon, 10 Jan 2011 23:19:36 +0000 (17:19 -0600)]
Added prototype debugging info for trapping at each block.

9 years agoMerge branch 'Kevin-Drew' of ssh://cumin.cs.wisc.edu/p/paradyn/development/roundy...
Kevin Roundy [Mon, 10 Jan 2011 22:14:35 +0000 (16:14 -0600)]
Merge branch 'Kevin-Drew' of ssh://cumin.cs.wisc.edu/p/paradyn/development/roundy/g0/dyninst into Kevin-Drew

Conflicts:
dyninstAPI/src/MemoryEmulator/memEmulatorTransformer.C
dyninstAPI/src/MemoryEmulator/memEmulatorTransformer.h
dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
dyninstAPI/src/hybridOverwrites.C

9 years agofixing new stackanalysis compile errors
Kevin Roundy [Mon, 10 Jan 2011 21:33:46 +0000 (15:33 -0600)]
fixing new stackanalysis compile errors

9 years agoUpdate code bytes if we see a "NOEDGE" edge in addition to direct/conditional taken
Andrew Bernat [Mon, 10 Jan 2011 21:16:12 +0000 (15:16 -0600)]
Update code bytes if we see a "NOEDGE" edge in addition to direct/conditional taken

9 years agoHandle and instructions in isFakeCall
Andrew Bernat [Mon, 10 Jan 2011 21:15:47 +0000 (15:15 -0600)]
Handle and instructions in isFakeCall

9 years agoRemove unused warning messages.
Andrew Bernat [Mon, 10 Jan 2011 21:15:27 +0000 (15:15 -0600)]
Remove unused warning messages.

9 years agoRemove unnecessary warning message about stack-offset memory accesses.
Andrew Bernat [Mon, 10 Jan 2011 21:14:52 +0000 (15:14 -0600)]
Remove unnecessary warning message about stack-offset memory accesses.

9 years agoDisable handling of pushad/popad instructions as they cause unknown problems; fix...
Andrew Bernat [Mon, 10 Jan 2011 21:14:32 +0000 (15:14 -0600)]
Disable handling of pushad/popad instructions as they cause unknown problems; fix a bug when applying an alias to an absolute stack value

9 years agoInstruction cracking now takes an int_block in addition to int_function; fixed users
Andrew Bernat [Mon, 10 Jan 2011 17:40:20 +0000 (11:40 -0600)]
Instruction cracking now takes an int_block in addition to int_function; fixed users

9 years agoPrototype of new alias-capable stack analysis finished.
Andrew Bernat [Mon, 10 Jan 2011 17:38:38 +0000 (11:38 -0600)]
Prototype of new alias-capable stack analysis finished.

9 years agoAdds debugging output for stack tamper analysis, code cleanup
Kevin Roundy [Mon, 10 Jan 2011 16:31:59 +0000 (10:31 -0600)]
Adds debugging output for stack tamper analysis, code cleanup

Cleans up dead functions in instruction adapter

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Fri, 7 Jan 2011 22:45:55 +0000 (16:45 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

9 years agoFixes missing call to updateCodeBytes with absolute tamper addrs
Kevin Roundy [Fri, 7 Jan 2011 22:44:02 +0000 (16:44 -0600)]
Fixes missing call to updateCodeBytes with absolute tamper addrs

9 years agoPrototype of alias-capable stack pointer analysis; required for proper defensive...
Andrew Bernat [Fri, 7 Jan 2011 18:23:52 +0000 (12:23 -0600)]
Prototype of alias-capable stack pointer analysis; required for proper defensive mode FP handling.

9 years agoMerge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst...
Kevin Roundy [Fri, 7 Jan 2011 17:53:08 +0000 (11:53 -0600)]
Merge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst into Kevin-Drew

9 years agoBetter page rights assignment after overwrites, debugging output
Kevin Roundy [Fri, 7 Jan 2011 17:52:59 +0000 (11:52 -0600)]
Better page rights assignment after overwrites, debugging output

9 years agoMerge branch 'Kevin-Drew' of git.dyninst.org:/pub/dyninst into Kevin-Drew
unknown [Thu, 6 Jan 2011 16:29:14 +0000 (10:29 -0600)]
Merge branch 'Kevin-Drew' of git.dyninst.org:/pub/dyninst into Kevin-Drew

Conflicts:
dyninstAPI/src/MemoryEmulator/memEmulatorAtom.C

9 years agoFix typo in emulating implicit AL/AX loads and stores
unknown [Thu, 6 Jan 2011 16:27:26 +0000 (10:27 -0600)]
Fix typo in emulating implicit AL/AX loads and stores

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Wed, 5 Jan 2011 19:50:03 +0000 (13:50 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

9 years agoRemove assert that all instrumentation accesses shadowed memory; system library inst...
unknown [Wed, 5 Jan 2011 19:49:30 +0000 (13:49 -0600)]
Remove assert that all instrumentation accesses shadowed memory; system library inst doesn't.

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Wed, 5 Jan 2011 19:40:09 +0000 (13:40 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

9 years agoAdd RT-side getCurrentThreadId to avoid infinite recursion.
unknown [Wed, 5 Jan 2011 19:39:41 +0000 (13:39 -0600)]
Add RT-side getCurrentThreadId to avoid infinite recursion.

9 years agoMerge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst...
Kevin Roundy [Wed, 5 Jan 2011 19:32:29 +0000 (13:32 -0600)]
Merge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst into Kevin-Drew

9 years agoFixes springboard overlap problems
Kevin Roundy [Wed, 5 Jan 2011 19:32:16 +0000 (13:32 -0600)]
Fixes springboard overlap problems

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Wed, 5 Jan 2011 19:31:02 +0000 (13:31 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

9 years agoBug fixes
unknown [Wed, 5 Jan 2011 19:23:04 +0000 (13:23 -0600)]
Bug fixes

9 years agoTreat finit as a dummy FP instruction
unknown [Wed, 5 Jan 2011 19:22:29 +0000 (13:22 -0600)]
Treat finit as a dummy FP instruction

9 years agoMerge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst...
Kevin Roundy [Tue, 4 Jan 2011 15:06:00 +0000 (09:06 -0600)]
Merge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst into Kevin-Drew

9 years agoMerge branch 'Kevin-Drew' of ssh://cumin.cs.wisc.edu/u/r/o/roundy/devel/g0/dyninst...
Kevin Roundy [Tue, 4 Jan 2011 03:25:17 +0000 (21:25 -0600)]
Merge branch 'Kevin-Drew' of ssh://cumin.cs.wisc.edu/u/r/o/roundy/devel/g0/dyninst into Kevin-Drew

9 years agoMerge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst...
Kevin Roundy [Mon, 3 Jan 2011 21:06:16 +0000 (15:06 -0600)]
Merge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst into Kevin-Drew

9 years agoDebugging output changes
Kevin Roundy [Mon, 3 Jan 2011 21:06:07 +0000 (15:06 -0600)]
Debugging output changes

9 years agoAccount for changes to ESP when emulating ESP dereferences
unknown [Mon, 3 Jan 2011 20:59:58 +0000 (14:59 -0600)]
Account for changes to ESP when emulating ESP dereferences

9 years agoWe now relocate all overlapping functions rather than just shared functions.
unknown [Mon, 3 Jan 2011 17:49:12 +0000 (11:49 -0600)]
We now relocate all overlapping functions rather than just shared functions.

9 years agoAdds parse resumption after weird instruction parse
Kevin Roundy [Mon, 3 Jan 2011 13:36:48 +0000 (07:36 -0600)]
Adds parse resumption after weird instruction parse

Adds abruptEnd points at weird instructions so that
if they actually execute, we'll re-trigger parsing
starting at that point.  Not tested, but it shouldn't
cause any failures that we weren't seeing previously.

9 years agoMerge branch 'Kevin-Drew' of git.dyninst.org:/pub/dyninst into Kevin-Drew
unknown [Wed, 29 Dec 2010 17:00:38 +0000 (11:00 -0600)]
Merge branch 'Kevin-Drew' of git.dyninst.org:/pub/dyninst into Kevin-Drew

9 years agoChange widen predicate to have more false positives but run much faster
unknown [Wed, 29 Dec 2010 16:59:04 +0000 (10:59 -0600)]
Change widen predicate to have more false positives but run much faster

9 years agoOverwrite, synchronization, and shared code fixes
Kevin Roundy [Thu, 23 Dec 2010 19:57:19 +0000 (13:57 -0600)]
Overwrite, synchronization, and shared code fixes

  Drew's consistency checks discovered that overwrites were failing
when shared code was deleted, I fixed this by not finalizing
functions that have had shared blocks removed from them until
the block has been removed from all functions (in the interim the
block is still in the CFG and was getting added back in by finalization).
  I also cleaned up a check in AddressSpace::deleteSnippet that was
overly aggressive and belonged in the hybridAnalysis code, this was
causing us not to remove loop instrumentation when we'd detected
overlapping overwrite loops.
  Shadow copies were failing when we jumped into another module rather
than calling into it, since we didn't know where to put the post-call
orig-to-shadow copy.  Fixed this by dropping the instrumentation after
the jump's callers.
  Shadow copies were also failing due to overlapping springboards, just
removing an assert was not enough, since we would copy a negative amount.

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Tue, 21 Dec 2010 20:07:09 +0000 (14:07 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

9 years agoFix corruption bug copying IA_IAPI instruction adapters
unknown [Tue, 21 Dec 2010 19:42:05 +0000 (13:42 -0600)]
Fix corruption bug copying IA_IAPI instruction adapters

9 years agoMerge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst...
Kevin Roundy [Tue, 21 Dec 2010 19:33:34 +0000 (13:33 -0600)]
Merge branch 'Kevin-Drew' of ssh://cumin/p/paradyn/development/roundy/g0/dyninst into Kevin-Drew

Conflicts:
dyninstAPI/src/function.C

9 years agoMerge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew
Kevin Roundy [Tue, 21 Dec 2010 19:21:30 +0000 (13:21 -0600)]
Merge branch 'Kevin-Drew' of ssh://git.dyninst.org/pub/dyninst into Kevin-Drew

9 years agoReversion last commit (hopefully)
Kevin Roundy [Tue, 21 Dec 2010 19:18:06 +0000 (13:18 -0600)]
Reversion last commit (hopefully)

9 years agoReversion fixes
Kevin Roundy [Tue, 21 Dec 2010 19:15:58 +0000 (13:15 -0600)]
Reversion fixes

9 years agoReverts commits that emulated smaller regions
Kevin Roundy [Tue, 21 Dec 2010 18:31:11 +0000 (12:31 -0600)]
Reverts commits that emulated smaller regions
Revert "Switches from emulating whole binary sections to analyzed code pages"

This reverts commit 22fdc9af9d1b28fe2bf4f18dbd0bb7ac4bd46930.

Conflicts:

dyninstAPI/src/MemoryEmulator/memEmulator.C

9 years agoRevert "Fixes bugs related to our narrower bounds on shadowed memory"
Kevin Roundy [Tue, 21 Dec 2010 17:44:31 +0000 (11:44 -0600)]
Revert "Fixes bugs related to our narrower bounds on shadowed memory"

This reverts commit 0deaa7c846ce11ab6133f286889ce88d1b5aae71.

Conflicts:

dyninstAPI_RT/src/RTmemEmulator.c

9 years agoDetects accesses that span emu and non-emu memory
Kevin Roundy [Mon, 20 Dec 2010 23:31:15 +0000 (17:31 -0600)]
Detects accesses that span emu and non-emu memory

9 years agoMerge branch 'Kevin-Drew' of git.dyninst.org:/pub/dyninst into Kevin-Drew
unknown [Mon, 20 Dec 2010 21:22:58 +0000 (15:22 -0600)]
Merge branch 'Kevin-Drew' of git.dyninst.org:/pub/dyninst into Kevin-Drew

9 years agoFix overlapping namespace issue
unknown [Mon, 20 Dec 2010 21:22:21 +0000 (15:22 -0600)]
Fix overlapping namespace issue

9 years agoCheck widen/end predicates in slicing; don't assert fail if a widen node is encounter...
Andrew Bernat [Mon, 20 Dec 2010 20:40:51 +0000 (14:40 -0600)]
Check widen/end predicates in slicing; don't assert fail if a widen node is encountered in symbolic expansion.

Conflicts:

dataflowAPI/src/slicing.C

9 years agoImplement caching system for PC sensitivity transformer to improve performance of...
unknown [Fri, 17 Dec 2010 21:38:24 +0000 (15:38 -0600)]
Implement caching system for PC sensitivity transformer to improve performance of repeated relocation.

9 years agoMerge branch 'Kevin-Drew' of git.dyninst.org:/pub/dyninst into Kevin-Drew
unknown [Fri, 17 Dec 2010 20:30:01 +0000 (14:30 -0600)]
Merge branch 'Kevin-Drew' of git.dyninst.org:/pub/dyninst into Kevin-Drew

9 years agoPartial fix for pc-sensitive transformer results caching.
unknown [Fri, 17 Dec 2010 20:29:55 +0000 (14:29 -0600)]
Partial fix for pc-sensitive transformer results caching.

9 years agoFix VC2010 compile error
unknown [Fri, 17 Dec 2010 20:29:33 +0000 (14:29 -0600)]
Fix VC2010 compile error