dyninst.git
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 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 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 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 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 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 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://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.

10 years agoRevert slicing to git-head. Build fixes. Slicing predicate funcs mismatched in git...
Bill Williams [Mon, 19 Apr 2010 22:08:52 +0000 (17:08 -0500)]
Revert slicing to git-head. Build fixes. Slicing predicate funcs mismatched in git-head.

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Mon, 19 Apr 2010 21:53:43 +0000 (16:53 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoFixes for ProcControl on static binaries, cleans up exit process handling
Matthew Legendre [Mon, 19 Apr 2010 21:52:57 +0000 (16:52 -0500)]
Fixes for ProcControl on static binaries, cleans up exit process handling

10 years agosymeval build fix
Bill Williams [Mon, 19 Apr 2010 21:17:03 +0000 (16:17 -0500)]
symeval build fix

10 years agoMore integration
Bill Williams [Mon, 19 Apr 2010 21:14:54 +0000 (16:14 -0500)]
More integration

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

10 years agoBEGIN integration/regression changes/fixes
Bill Williams [Mon, 19 Apr 2010 20:49:14 +0000 (15:49 -0500)]
BEGIN integration/regression changes/fixes

10 years agoGCC 4.4.3 fixes.
Ray Chen [Mon, 19 Apr 2010 19:22:08 +0000 (15:22 -0400)]
GCC 4.4.3 fixes.

Small changes to satisfy the slightly more robust GCC 4.4.3 compiler.

10 years agoHandle stack-cleaning returns properly
Andrew Bernat [Fri, 16 Apr 2010 20:03:26 +0000 (15:03 -0500)]
Handle stack-cleaning returns properly

10 years agoFix stack problem in local slicer
Andrew Bernat [Fri, 16 Apr 2010 20:04:18 +0000 (15:04 -0500)]
Fix stack problem in local slicer

10 years agoMerge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst
Bill Williams [Tue, 13 Apr 2010 14:01:59 +0000 (09:01 -0500)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst

10 years agoWIP
Bill Williams [Tue, 13 Apr 2010 14:01:50 +0000 (09:01 -0500)]
WIP

10 years agoGuard a pointer dereference
Andrew Bernat [Tue, 13 Apr 2010 13:52:53 +0000 (08:52 -0500)]
Guard a pointer dereference

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

Conflicts:
instructionAPI/src/InstructionDecoder-x86.C
symEval/src/SymEval.C
symEval/src/slicing.C

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Mon, 12 Apr 2010 19:47:11 +0000 (14:47 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

Conflicts:
instructionAPI/src/InstructionDecoder-x86.C

10 years agoExtend slicing interface
Andrew Bernat [Mon, 12 Apr 2010 19:07:36 +0000 (14:07 -0500)]
Extend slicing interface

Conflicts:

symEval/h/slicing.h

10 years agoExtensions of short-range slicer
Andrew Bernat [Mon, 12 Apr 2010 19:02:27 +0000 (14:02 -0500)]
Extensions of short-range slicer

10 years agoMore conversion overrides for IAPI->ROSE conversions
Andrew Bernat [Mon, 12 Apr 2010 19:02:06 +0000 (14:02 -0500)]
More conversion overrides for IAPI->ROSE conversions

10 years agoInstructionAPI bugfixes
Andrew Bernat [Mon, 12 Apr 2010 19:01:29 +0000 (14:01 -0500)]
InstructionAPI bugfixes

10 years agoBugfix for calls that aren't actually calls...
Andrew Bernat [Mon, 12 Apr 2010 19:01:12 +0000 (14:01 -0500)]
Bugfix for calls that aren't actually calls...

10 years agoSafety check pre-disassembly
Andrew Bernat [Mon, 12 Apr 2010 19:00:12 +0000 (14:00 -0500)]
Safety check pre-disassembly

10 years agoBugfix in basetramp-less memory instrumentation
Andrew Bernat [Mon, 12 Apr 2010 18:59:54 +0000 (13:59 -0500)]
Bugfix in basetramp-less memory instrumentation

10 years agoMerge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst
Bill Williams [Wed, 7 Apr 2010 17:46:21 +0000 (12:46 -0500)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst

10 years agoFinal fixes for IAPI/Power integration:
Bill Williams [Wed, 7 Apr 2010 17:36:39 +0000 (12:36 -0500)]
Final fixes for IAPI/Power integration:

* Remove invalid assert from Power rewriter commit in emitFuncJump
* Fix autoconf to properly detect g++ and native demanglers on AIX.
* Remove a stray #define DEBUG from stack tests.

10 years agoAllow x86 instructions to have two immediate operands (like ENTER).
Nathan Rosenblum [Wed, 7 Apr 2010 02:45:25 +0000 (21:45 -0500)]
Allow x86 instructions to have two immediate operands (like ENTER).

10 years agoMerge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst
Bill Williams [Tue, 6 Apr 2010 16:42:20 +0000 (11:42 -0500)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst

Conflicts:
dyninstAPI/src/RegisterConversion-x86.C
dyninstAPI/src/stackanalysis.C
dyninstAPI/src/symtab.C
make.config
symEval/h/SymEval.h
symEval/src/SymEval.C
symEval/src/SymEvalPolicy.C
symEval/src/SymEvalPolicy.h

10 years agopower/linux IAPI passes all tests
Bill Williams [Tue, 6 Apr 2010 15:33:19 +0000 (10:33 -0500)]
power/linux IAPI passes all tests

10 years agoMerge branch 'master' of ssh://bill@follis.cs.wisc.edu/p/paradyn/development/bill...
Bill Williams [Thu, 1 Apr 2010 18:22:29 +0000 (13:22 -0500)]
Merge branch 'master' of ssh://bill@follis.cs.wisc.edu/p/paradyn/development/bill/test/dyninst

10 years agopower/linux jump table fixes
Bill Williams [Thu, 1 Apr 2010 18:22:23 +0000 (13:22 -0500)]
power/linux jump table fixes

10 years agoFix compiler warning.
Bill Williams [Thu, 1 Apr 2010 18:15:51 +0000 (13:15 -0500)]
Fix compiler warning.

10 years agoHandle access to EFLAGS register in liveness.
Bill Williams [Thu, 1 Apr 2010 18:15:43 +0000 (13:15 -0500)]
Handle access to EFLAGS register in liveness.

10 years agoUse the right architecture for lookahead decoding.
Bill Williams [Thu, 1 Apr 2010 18:15:22 +0000 (13:15 -0500)]
Use the right architecture for lookahead decoding.

10 years agoFix for ppc_linux jump tables
Bill Williams [Thu, 1 Apr 2010 18:15:01 +0000 (13:15 -0500)]
Fix for ppc_linux jump tables

10 years agoMore changes to power instruction generation
Madhavi Krishnan [Wed, 31 Mar 2010 20:54:17 +0000 (15:54 -0500)]
More changes to power instruction generation

10 years agoCorrected inst-power changes
Madhavi Krishnan [Wed, 31 Mar 2010 20:26:02 +0000 (15:26 -0500)]
Corrected inst-power changes

10 years agoInstructionAPI POWER port: jump table parsing works on AIX, memory tests work, AIX...
Bill Williams [Wed, 31 Mar 2010 19:35:32 +0000 (14:35 -0500)]
InstructionAPI POWER port: jump table parsing works on AIX, memory tests work, AIX TOC lookup ported.  Infrastructure laid down for OMP parsing port.
ODO: secondary FP saves iff we've found secondary FP use, test PPC linux, fix 32-bit mode hacks, code cleanup.

10 years agoPowerPC rewriter tests
Madhavi Krishnan [Wed, 31 Mar 2010 17:39:42 +0000 (12:39 -0500)]
PowerPC rewriter tests

This commit enables rewriter tests for PowerPC platform.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Madhavi Krishnan [Wed, 31 Mar 2010 17:22:05 +0000 (12:22 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoPowerPC Rewriter commit
Madhavi Krishnan [Wed, 31 Mar 2010 17:21:46 +0000 (12:21 -0500)]
PowerPC Rewriter commit

This commit implements rewriter on powerPC. It implements PIC code generation,
and other changes required to enable binary rewriting in power.

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

Conflicts:
dyninstAPI/src/RegisterConversion-x86.C

10 years agoAdd a MachRegister->Dyninst register converter
Andrew Bernat [Fri, 26 Mar 2010 21:40:01 +0000 (16:40 -0500)]
Add a MachRegister->Dyninst register converter

10 years agoCollected bugfixes
Andrew Bernat [Fri, 26 Mar 2010 21:40:15 +0000 (16:40 -0500)]
Collected bugfixes

10 years agoFix bug from VXWorks commit: instruction::generate() and instruction::setInstruction...
Bill Williams [Fri, 26 Mar 2010 21:39:03 +0000 (16:39 -0500)]
Fix bug from VXWorks commit: instruction::generate() and instruction::setInstruction once again write things on non-VXWorks builds

10 years agoFix detach() handling: add appropriate RPC callback/wait mechanism, and elease the...
Bill Williams [Fri, 26 Mar 2010 20:04:37 +0000 (15:04 -0500)]
Fix detach() handling: add appropriate RPC callback/wait mechanism, and elease the global lock when we leave waitNextEvent().
Also clean up traps behind ourselves when we detach.

10 years agoSmall fixes for ProcControlAPI commit
Matthew Legendre [Wed, 24 Mar 2010 19:47:59 +0000 (14:47 -0500)]
Small fixes for ProcControlAPI commit

10 years agoNew tests for ProcControlAPI
Matthew Legendre [Wed, 24 Mar 2010 17:23:01 +0000 (12:23 -0500)]
New tests for ProcControlAPI

10 years agoInitial implementation of ProcControlAPI for Linux/x86 family
Matthew Legendre [Wed, 24 Mar 2010 17:22:43 +0000 (12:22 -0500)]
Initial implementation of ProcControlAPI for Linux/x86 family

10 years agoMove the address lookup implementation from SymtabAPI to libcommon, so it can be...
Matthew Legendre [Wed, 24 Mar 2010 17:20:31 +0000 (12:20 -0500)]
Move the address lookup implementation from SymtabAPI to libcommon, so it can be accessed by ProcControlAPI

10 years agoPower jump table implementation w/IAPI; desperately needs cleanup.
Bill Williams [Tue, 23 Mar 2010 20:08:00 +0000 (15:08 -0500)]
Power jump table implementation w/IAPI; desperately needs cleanup.

10 years agoMerge/rebase fixes
Bill Williams [Tue, 23 Mar 2010 15:52:31 +0000 (10:52 -0500)]
Merge/rebase fixes

10 years agocheck glink section for null, bail if so
Bill Williams [Fri, 12 Mar 2010 22:11:57 +0000 (16:11 -0600)]
check glink section for null, bail if so

10 years agoCheck edges from all control flow insns, not just x86 calls, in stack analysis.
Bill Williams [Mon, 22 Mar 2010 15:26:22 +0000 (10:26 -0500)]
Check edges from all control flow insns, not just x86 calls, in stack analysis.
More slicing WIP and merge fixes.

10 years agojump table slicing WIP: get backwards slice from indirect branch and examine it
Bill Williams [Wed, 17 Mar 2010 15:53:06 +0000 (10:53 -0500)]
jump table slicing WIP: get backwards slice from indirect branch and examine it

10 years agoBind the effective address, not the dereference!
Bill Williams [Tue, 16 Mar 2010 22:43:24 +0000 (17:43 -0500)]
Bind the effective address, not the dereference!

10 years agomore log
Bill Williams [Tue, 16 Mar 2010 22:39:41 +0000 (17:39 -0500)]
more log

10 years agodebugging logging
Bill Williams [Tue, 16 Mar 2010 22:36:46 +0000 (17:36 -0500)]
debugging logging

10 years agotest impl of stack analysis for ppc
Bill Williams [Tue, 16 Mar 2010 22:18:08 +0000 (17:18 -0500)]
test impl of stack analysis for ppc

10 years agoadd powerpcInstructionEnum to external/rose
Bill Williams [Tue, 16 Mar 2010 21:47:30 +0000 (16:47 -0500)]
add powerpcInstructionEnum to external/rose

10 years agoA working, but not yet complete, implementation of backward slicing.
Emily Jacobson [Tue, 16 Mar 2010 21:30:29 +0000 (16:30 -0500)]
A working, but not yet complete, implementation of backward slicing.

10 years agomore bugfixes
Bill Williams [Tue, 16 Mar 2010 16:46:42 +0000 (11:46 -0500)]
more bugfixes

10 years agoimplementation of regClassToString for debugging
Bill Williams [Tue, 16 Mar 2010 16:41:56 +0000 (11:41 -0500)]
implementation of regClassToString for debugging

10 years agoAdd absolute forms to unconditional branches & link forms to conditional branches.
Bill Williams [Mon, 15 Mar 2010 22:39:25 +0000 (17:39 -0500)]
Add absolute forms to unconditional branches & link forms to conditional branches.

10 years agoContinuing bugfixes for symeval/rose operand matching.
Bill Williams [Mon, 15 Mar 2010 20:10:49 +0000 (15:10 -0500)]
Continuing bugfixes for symeval/rose operand matching.

10 years agoSwap all PPC stores so that their source/destination operands are in the order ROSE...
Bill Williams [Mon, 15 Mar 2010 20:05:19 +0000 (15:05 -0500)]
Swap all PPC stores so that their source/destination operands are in the order ROSE expects.

10 years agoMore bug fixes to make converted ROSE insns behave with their semantics module.
Bill Williams [Mon, 15 Mar 2010 17:16:41 +0000 (12:16 -0500)]
More bug fixes to make converted ROSE insns behave with their semantics module.

10 years agoBug fix: bo, bi can be 0 but we need to pass them in anyway...
Bill Williams [Mon, 15 Mar 2010 17:11:13 +0000 (12:11 -0500)]
Bug fix: bo, bi can be 0 but we need to pass them in anyway...

10 years agoVarious changes to make SymEval play nicely with the Power semantics module.
Bill Williams [Mon, 15 Mar 2010 16:54:14 +0000 (11:54 -0500)]
Various changes to make SymEval play nicely with the Power semantics module.