dyninst.git
10 years agoExtend testsuite to build and test static binaries. Adds new dimension to test
Daniel McNulty [Thu, 1 Apr 2010 18:20:24 +0000 (13:20 -0500)]
Extend testsuite to build and test static binaries.  Adds new dimension to test
space -- dynamic vs. static link. runTests and test_driver now accept the
options(-dynamiclink,-staticlink) to run against dynamically or statically
linked binaries. The default is to have both options on, but statically linked
binaries will only be tested in rewriter mode. This included some changes to
the test infrastructure code as well as the specification.

Also, fixes some bugs in the rewriter of static binaries: restoring symbol
information after performing the rewrite to all Symtab caching to work correctly
and automatically loading the dependencies for the static RT library (just
libc for now).

All rewriter tests pass for static binaries except test5_6. test5_6 (Exception
test) instruments the catch block of an exception block. The mutatee makes a
call to a function that always throws an exception; parsing currently
classifies this case as a non-returning function. In the calling function, the
non-returning call causes the parser to stop parsing the function and never
find the catch block. Because of this, the mutator fails to find and instrument
the call block. This isn't a problem for the dynamic case because the call is
routed through the PLT and is therefore, not a non-returning call. At the time
of the commit, I didn't know how to fix this.

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 agoReplace AbsRegionAST with VariableAST.
Andrew Bernat [Mon, 22 Mar 2010 18:03:03 +0000 (13:03 -0500)]
Replace AbsRegionAST with VariableAST.

10 years agoBugfix for stack analysis over getPC/thunk calls
Andrew Bernat [Mon, 22 Mar 2010 18:02:23 +0000 (13:02 -0500)]
Bugfix for stack analysis over getPC/thunk calls

10 years agoFix for incomplete merge.
Andrew Bernat [Fri, 19 Mar 2010 21:57:01 +0000 (16:57 -0500)]
Fix for incomplete merge.

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

Conflicts:
symEval/src/SymEvalPolicy.h

10 years agoImprove slicing to check predicates during traversal of call edges.
Andrew Bernat [Fri, 19 Mar 2010 20:18:39 +0000 (15:18 -0500)]
Improve slicing to check predicates during traversal of call edges.

10 years agoMake SymEval an exported header
Andrew Bernat [Thu, 18 Mar 2010 15:12:47 +0000 (10:12 -0500)]
Make SymEval an exported header

10 years agoFix ordering issue when creating FP intervals in stack analysis
Andrew Bernat [Fri, 19 Mar 2010 20:18:26 +0000 (15:18 -0500)]
Fix ordering issue when creating FP intervals in stack analysis

10 years agoPatch ROSE instruction semantics to treat the PC as symbolic
Andrew Bernat [Thu, 18 Mar 2010 15:12:18 +0000 (10:12 -0500)]
Patch ROSE instruction semantics to treat the PC as symbolic

10 years agosymEval: Keep track of operand sizes
Todd Frederick [Thu, 18 Mar 2010 19:06:32 +0000 (14:06 -0500)]
symEval: Keep track of operand sizes

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Fri, 12 Mar 2010 21:03:38 +0000 (15:03 -0600)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoBuild fix for ia64 -- ia64 uses as instead of gcc when building the
Daniel McNulty [Fri, 12 Mar 2010 21:01:50 +0000 (15:01 -0600)]
Build fix for ia64 -- ia64 uses as instead of gcc when building the
RT library, and it doesn't accept the options -c and -D.

Also, minor bug fix for rewriting statically-linked, stripped binaries.

10 years agoPreliminary VxWorks Support
rchen [Wed, 3 Mar 2010 19:21:14 +0000 (14:21 -0500)]
Preliminary VxWorks Support
Major changes at the cross-platform level include reading and writing
by word to support proper handling of endian mismatches between mutator
and mutatee.

modified:   common/h/Types.h
modified:   common/h/fraction.h
modified:   common/h/headers.h
new file:   common/h/vxworksHeaders.h
new file:   common/ppc32-unknown-vxworks6.x/Makefile
modified:   common/src/Time.C
new file:   dyninstAPI/ppc32-unknown-vxworks6.x/Makefile
modified:   dyninstAPI/src/BPatch.C
modified:   dyninstAPI/src/BPatch_function.C
modified:   dyninstAPI/src/BPatch_snippet.C
modified:   dyninstAPI/src/InstrucIter-power.C
modified:   dyninstAPI/src/addressSpace.h
modified:   dyninstAPI/src/aix.C
modified:   dyninstAPI/src/arch-power.C
modified:   dyninstAPI/src/arch-power.h
modified:   dyninstAPI/src/binaryEdit.C
modified:   dyninstAPI/src/binaryEdit.h
modified:   dyninstAPI/src/dyn_lwp.h
modified:   dyninstAPI/src/inst-power.C
modified:   dyninstAPI/src/inst-power.h
modified:   dyninstAPI/src/linux.C
modified:   dyninstAPI/src/mapped_object.C
modified:   dyninstAPI/src/multiTramp.C
modified:   dyninstAPI/src/os.h
modified:   dyninstAPI/src/pdwinnt.C
modified:   dyninstAPI/src/process.C
modified:   dyninstAPI/src/process.h
modified:   dyninstAPI/src/procfs.C
modified:   dyninstAPI/src/rpcMgr-thr.C
modified:   dyninstAPI/src/signalgenerator.C
modified:   dyninstAPI/src/signalhandler.C
modified:   dyninstAPI/src/sol_proc.C
modified:   dyninstAPI/src/symtab.C
new file:   dyninstAPI/src/syscall-vxworks.C
modified:   dyninstAPI/src/unix.C
new file:   dyninstAPI/src/vxworks.C
new file:   dyninstAPI/src/vxworks.h
modified:   dyninstAPI_RT/h/dyninstAPI_RT.h
new file:   dyninstAPI_RT/ppc32-unknown-vxworks6.x/Makefile
modified:   dyninstAPI_RT/src/RTcommon.c
modified:   dyninstAPI_RT/src/RTheap.h
modified:   dyninstAPI_RT/src/RTlinux.c
modified:   dyninstAPI_RT/src/RTposix.c
modified:   dyninstAPI_RT/src/RTspace.S
        new file:   dyninstAPI_RT/src/RTspace-smallmem.S
modified:   dyninstAPI_RT/src/RTthread-index.c
new file:   dyninstAPI_RT/src/RTvxworks.c
modified:   make.config
modified:   symtabAPI/h/Region.h
modified:   symtabAPI/h/Symtab.h
new file:   symtabAPI/ppc32-unknown-vxworks6.x/Makefile
modified:   symtabAPI/src/Aggregate.C
modified:   symtabAPI/src/Elf_X.h
modified:   symtabAPI/src/Function.C
modified:   symtabAPI/src/Object-elf.C
modified:   symtabAPI/src/Object.h
modified:   symtabAPI/src/Region.C
modified:   symtabAPI/src/Symtab.C
modified:   symtabAPI/src/Variable.C
modified:   dyninstAPI/ppc32-unknown-vxworks6.x/Makefile
modified:   dyninstAPI/src/InstrucIter-xplat.C
modified:   dyninstAPI/src/InstrucIter.h
modified:   dyninstAPI/src/arch-power.C
modified:   symtabAPI/h/Symtab.h
modified:   symtabAPI/src/Object-elf.C
modified:   symtabAPI/src/Region.C
modified:   symtabAPI/src/Symtab.C

10 years agoPrototype implementation of slice->AST symbolic expansion mechanism.
Andrew Bernat [Thu, 11 Mar 2010 22:29:56 +0000 (16:29 -0600)]
Prototype implementation of slice->AST symbolic expansion mechanism.

10 years agoCorrectly implement sign-extension for constant types.
Andrew Bernat [Wed, 10 Mar 2010 23:00:31 +0000 (17:00 -0600)]
Correctly implement sign-extension for constant types.

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 10 Mar 2010 22:19:13 +0000 (16:19 -0600)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agoReimplementation of ASTs as non-templated to allow creation of visitor classes.
Andrew Bernat [Wed, 10 Mar 2010 22:17:06 +0000 (16:17 -0600)]
Reimplementation of ASTs as non-templated to allow creation of visitor classes.

10 years agoSymEval: remove redundant handling of PC for call instruction
Todd Frederick [Wed, 10 Mar 2010 17:27:08 +0000 (11:27 -0600)]
SymEval: remove redundant handling of PC for call instruction

10 years agoSymEval: Fix conversion to ROSE instruction involving implicit PC updates
Todd Frederick [Wed, 10 Mar 2010 16:38:49 +0000 (10:38 -0600)]
SymEval: Fix conversion to ROSE instruction involving implicit PC updates

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Tue, 9 Mar 2010 21:54:37 +0000 (15:54 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoMore fixes for StackwalkerAPI and new register interface
Matthew Legendre [Tue, 9 Mar 2010 21:48:43 +0000 (15:48 -0600)]
More fixes for StackwalkerAPI and new register interface

10 years agoFixes for PPC stackwalking
Matthew Legendre [Tue, 9 Mar 2010 21:44:18 +0000 (15:44 -0600)]
Fixes for PPC stackwalking

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Tue, 9 Mar 2010 19:54:06 +0000 (13:54 -0600)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agoSymEval and related bugfixes;
Andrew Bernat [Tue, 9 Mar 2010 19:53:19 +0000 (13:53 -0600)]
SymEval and related bugfixes;
Initial implementation of a find-and-replace AST mechanism;
Initial implementation of an AST-based stack slot resolver

10 years agoStackwalkerAPI fixes for working with new register class
Matthew Legendre [Tue, 9 Mar 2010 19:20:33 +0000 (13:20 -0600)]
StackwalkerAPI fixes for working with new register class

10 years agoAdd DWARF reg conversion to new register class
Matthew Legendre [Tue, 9 Mar 2010 19:20:10 +0000 (13:20 -0600)]
Add DWARF reg conversion to new register class

10 years agoAdded initial BindEval for stack slots;
Andrew Bernat [Fri, 5 Mar 2010 22:37:55 +0000 (16:37 -0600)]
Added initial BindEval for stack slots;
Fixed call handling in symbolic expansion;
Added AST substitutions.

10 years agoIntegration bug fixes.
Bill Williams [Fri, 5 Mar 2010 20:10:40 +0000 (14:10 -0600)]
Integration bug fixes.

10 years agoWarning cleanup.
Bill Williams [Thu, 4 Mar 2010 23:10:48 +0000 (17:10 -0600)]
Warning cleanup.

10 years agoFix Sparc build.
Bill Williams [Thu, 4 Mar 2010 21:48:29 +0000 (15:48 -0600)]
Fix Sparc build.

10 years agoRestore POWER/Linux PLT functionality
Bill Williams [Thu, 4 Mar 2010 18:26:44 +0000 (12:26 -0600)]
Restore POWER/Linux PLT functionality

10 years agoOptimizations for Synopsis
Bill Williams [Wed, 3 Mar 2010 22:53:27 +0000 (16:53 -0600)]
Optimizations for Synopsis

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Thu, 4 Mar 2010 17:52:18 +0000 (11:52 -0600)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agoAdd explicit flags register representations; SymEval bugfixes.
Andrew Bernat [Thu, 4 Mar 2010 17:51:59 +0000 (11:51 -0600)]
Add explicit flags register representations; SymEval bugfixes.

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Wed, 3 Mar 2010 22:46:20 +0000 (16:46 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

Conflicts:
make.config

10 years agoFurther work on AIX stackwalking
Matthew Legendre [Wed, 3 Mar 2010 21:02:22 +0000 (15:02 -0600)]
Further work on AIX stackwalking

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Wed, 3 Mar 2010 15:35:43 +0000 (09:35 -0600)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 3 Mar 2010 00:08:56 +0000 (18:08 -0600)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

Conflicts:
symEval/src/SymEval.C
symEval/src/SymEvalPolicy.C

10 years agoBugfixes for slicing and general compile fixes for SymEval component
Andrew Bernat [Tue, 2 Mar 2010 23:28:34 +0000 (17:28 -0600)]
Bugfixes for slicing and general compile fixes for SymEval component

10 years agoSymEval: Use MachRegister interface
Todd Frederick [Tue, 2 Mar 2010 23:18:49 +0000 (17:18 -0600)]
SymEval: Use MachRegister interface

10 years agoRegister interface: Added converter to ROSE register type
Todd Frederick [Tue, 2 Mar 2010 22:40:14 +0000 (16:40 -0600)]
Register interface: Added converter to ROSE register type

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Tue, 2 Mar 2010 21:16:49 +0000 (15:16 -0600)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoFixed problems related to loading libraries introduced by a previous commit.
Daniel McNulty [Fri, 26 Feb 2010 17:41:24 +0000 (11:41 -0600)]
Fixed problems related to loading libraries introduced by a previous commit.

1) On platforms that do not support the binary rewriter, opening a binary with
BPatch_binaryEdit would fail because openResolvedLibraryName was not
implemented for these platforms. A generic version of openResolvedLibraryName
was implemented on these platforms. openResolvedLibraryName is now used to open
the RT library because it can be a collection of BinaryEdits in the static
binary case. Previously, the RT library was opened with openFile.

2) Prior to this commit, in order to work with a static binary via
BPatch_binaryEdit the DYNINSTAPI_RT_LIB environment variable needed to point
to the .a version of the RT lib. This inhibits a user from working with a
dynamic binary and a static binary at the same time. Now, the
DYNINSTAPI_RT_LIB variable is used to find the directory that holds both
versions of the RT library. The correct version is chosen depending on the
type of binary opened via BPatch_binaryEdit.

10 years agoAdd ROSE compatability enums
Todd Frederick [Tue, 2 Mar 2010 19:41:51 +0000 (13:41 -0600)]
Add ROSE compatability enums

10 years agoInitial SymEval prototype; stack analysis fixes to handle destroyed stack frames.
Andrew Bernat [Tue, 2 Mar 2010 19:26:39 +0000 (13:26 -0600)]
Initial SymEval prototype; stack analysis fixes to handle destroyed stack frames.

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Mon, 1 Mar 2010 21:35:43 +0000 (15:35 -0600)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

Conflicts:
dyninstAPI/src/stackanalysis.C

10 years agoFix stackanalysis for frame pointers.
Andrew Bernat [Mon, 1 Mar 2010 21:27:13 +0000 (15:27 -0600)]
Fix stackanalysis for frame pointers.

10 years agoSupport for StackwalkerAPI on AIX
Matthew Legendre [Fri, 26 Feb 2010 19:33:24 +0000 (13:33 -0600)]
Support for StackwalkerAPI on AIX

10 years agoFix dyninst fault when stripped code parsing libraries with 0 symbols in the dynamic...
Matthew Legendre [Fri, 26 Feb 2010 00:25:10 +0000 (18:25 -0600)]
Fix dyninst fault when stripped code parsing libraries with 0 symbols in the dynamic or regular symbol table.

10 years agoMissing instruction mnemonic
Nathan Rosenblum [Wed, 24 Feb 2010 18:02:12 +0000 (12:02 -0600)]
Missing instruction mnemonic

10 years agoRevert "fixes"
Nathan Rosenblum [Wed, 24 Feb 2010 17:59:58 +0000 (11:59 -0600)]
Revert "fixes"

This reverts commit eb01ebec7037bb84b386349f07660f6cbc0448d2.

10 years agoMerge branch 'master' of ssh://nater@git.dyninst.org/pub/dyninst
Nathan Rosenblum [Wed, 24 Feb 2010 16:25:00 +0000 (10:25 -0600)]
Merge branch 'master' of ssh://nater@git.dyninst.org/pub/dyninst

10 years agofixes
Nathan Rosenblum [Wed, 24 Feb 2010 16:24:57 +0000 (10:24 -0600)]
fixes

10 years agoIntegration bugfixes.
Bill Williams [Mon, 22 Feb 2010 19:22:15 +0000 (13:22 -0600)]
Integration bugfixes.

10 years agoPowerPC/Linux bug fixes: don't treat call-next-insn as an ABI-conforming call in...
Bill Williams [Mon, 22 Feb 2010 18:53:09 +0000 (12:53 -0600)]
PowerPC/Linux bug fixes: don't treat call-next-insn as an ABI-conforming call in liveness

10 years agoRemove some unnecessary duplicate operand construction.
Bill Williams [Mon, 22 Feb 2010 18:41:28 +0000 (12:41 -0600)]
Remove some unnecessary duplicate operand construction.

10 years agoSPR read/write set bugfix.
Bill Williams [Fri, 19 Feb 2010 23:18:49 +0000 (17:18 -0600)]
SPR read/write set bugfix.

10 years agoRemove dead include to List.h
Bill Williams [Fri, 19 Feb 2010 22:06:32 +0000 (16:06 -0600)]
Remove dead include to List.h

10 years agoAdd instructionAPI dependency to all powerpc/power makefiles.
Bill Williams [Fri, 19 Feb 2010 21:53:02 +0000 (15:53 -0600)]
Add instructionAPI dependency to all powerpc/power makefiles.

10 years agoFinal integration bugfixes and restoration of AIX/gcc4.2.0 compatibility
Bill Williams [Fri, 19 Feb 2010 21:23:54 +0000 (15:23 -0600)]
Final integration bugfixes and restoration of AIX/gcc4.2.0 compatibility

10 years agoKill warnings.
Bill Williams [Thu, 18 Feb 2010 20:38:07 +0000 (14:38 -0600)]
Kill warnings.

10 years agoFurther bug fixes: get tests using right architecture/address width, initialize Opera...
Bill Williams [Thu, 18 Feb 2010 20:28:46 +0000 (14:28 -0600)]
Further bug fixes: get tests using right architecture/address width, initialize Operation member variables correctly.

10 years agoStronger sanity checking for mod r/m displacements.
Bill Williams [Thu, 18 Feb 2010 19:14:55 +0000 (13:14 -0600)]
Stronger sanity checking for mod r/m displacements.

10 years agoUpdate to use new MachRegister class.
Bill Williams [Thu, 18 Feb 2010 19:14:35 +0000 (13:14 -0600)]
Update to use new MachRegister class.

10 years agoRemove pool allocator from IAPI shared pointer factory, since there's no way to make...
Bill Williams [Thu, 18 Feb 2010 19:14:21 +0000 (13:14 -0600)]
Remove pool allocator from IAPI shared pointer factory, since there's no way to make it thread-safe.

10 years agoParseDwarf bug fixes: strtoul replaces strtol, fixing a warning on pgcc mutatees...
Bill Williams [Thu, 18 Feb 2010 19:13:48 +0000 (13:13 -0600)]
ParseDwarf bug fixes: strtoul replaces strtol, fixing a warning on pgcc mutatees; bug fix for ia32 Dwarf register to MachRegister conversion.

10 years agoBug fixes for IA32/AMD64
Bill Williams [Thu, 18 Feb 2010 19:12:31 +0000 (13:12 -0600)]
Bug fixes for IA32/AMD64

10 years agoPPC32 Linux fixes
Bill Williams [Thu, 18 Feb 2010 19:11:11 +0000 (13:11 -0600)]
PPC32 Linux fixes

10 years agoReenable conversion to signed int for MachRegister, now that we've converted and...
Bill Williams [Mon, 15 Feb 2010 18:23:29 +0000 (12:23 -0600)]
Reenable conversion to signed int for MachRegister, now that we've converted and nobody can do anything too stupid.

10 years agoOptimizations & bugfixes:
Bill Williams [Mon, 15 Feb 2010 17:54:56 +0000 (11:54 -0600)]
Optimizations & bugfixes:
* Instructions get shared pointers to the correct decoder, rather than constructing fresh ones to decode operands.
* InstructionDecoder now has setBuffer(buffer, size) and resetBuffer() methods.  resetBuffer() resets to state before previous setBuffer().
* Added operands to a few x86 opcodes that were missing their read/write sets.
* Removed old architecture enum--everything should be going through MachRegister's architecture definitions now.
* InstructionDecoders no longer copyable--this should have been disabled when we went to factory construction, but wasn't.
* InstructionAdapter no longer tries to copy a decoder.

10 years agoMore debug logging; return false if no valid edges (not safe to relocate func w/jump...
Bill Williams [Thu, 11 Feb 2010 22:30:41 +0000 (16:30 -0600)]
More debug logging; return false if no valid edges (not safe to relocate func w/jump table).

10 years agoInstructionAPI Register formatting consistent with previous disassembly.
Bill Williams [Thu, 11 Feb 2010 20:23:19 +0000 (14:23 -0600)]
InstructionAPI Register formatting consistent with previous disassembly.

10 years agoAdd check for signal.h to 32-bit RTlib test to catch bad include setup.
Bill Williams [Thu, 11 Feb 2010 19:13:10 +0000 (13:13 -0600)]
Add check for signal.h to 32-bit RTlib test to catch bad include setup.

10 years agoAssorted bugfixes for registers with non-full widths.
Bill Williams [Thu, 11 Feb 2010 19:12:39 +0000 (13:12 -0600)]
Assorted bugfixes for registers with non-full widths.

10 years agoBugfixes:
Andrew Bernat [Thu, 4 Feb 2010 21:53:07 +0000 (15:53 -0600)]
Bugfixes:
Add missing registers in map from InstructionAPI registers to Dyninst internal registers
Do not segfault when generating an empty AST sequence node
Use codeGen index methods to rewind in baseTramp code generation
Use Result::convert in stack analysis instead of translating by hand
Bugfix in InstructionAPI mod/rm byte decoding
Fix accidentally decoding LEAs as using memory.
Consider writes to portions of registers (IA-32 aliasing) to be a use of the register as well
Correctly emit rex byte for instruction::generateMem
Correct decoding of REX + SIB expressions

10 years agoMassive changes to get InstructionAPI working with new MachRegister class.
Bill Williams [Wed, 10 Feb 2010 16:25:28 +0000 (10:25 -0600)]
Massive changes to get InstructionAPI working with new MachRegister class.
TODO: fix stack tests, fix thread tests, test cross-platform, code cleanup.

10 years agoNew MachRegister class: stackwalk-x86, parseDwarf, POWER IAPI integration
Bill Williams [Mon, 8 Feb 2010 17:01:19 +0000 (11:01 -0600)]
New MachRegister class: stackwalk-x86, parseDwarf, POWER IAPI integration

10 years agoFix parentheses.
Bill Williams [Thu, 4 Feb 2010 23:07:06 +0000 (17:07 -0600)]
Fix parentheses.

10 years agoAdd architecture bit.
Bill Williams [Thu, 4 Feb 2010 23:06:55 +0000 (17:06 -0600)]
Add architecture bit.

10 years agoAdded conditional branch instructions to ppc read/write set test.
Bill Williams [Thu, 4 Feb 2010 22:00:43 +0000 (16:00 -0600)]
Added conditional branch instructions to ppc read/write set test.

10 years agoPower liveness now using instructionAPI. Still needs cleanup, but works.
Bill Williams [Thu, 4 Feb 2010 21:53:09 +0000 (15:53 -0600)]
Power liveness now using instructionAPI.  Still needs cleanup, but works.

10 years agoIAPI/Power to dyn_regs based register IDs; liveness with cheap hack GPR conversion.
Bill Williams [Thu, 4 Feb 2010 18:15:32 +0000 (12:15 -0600)]
IAPI/Power to dyn_regs based register IDs; liveness with cheap hack GPR conversion.

10 years agobug fix for checking AIX 32 bit environment: -maix32, not -m32.
Bill Williams [Thu, 4 Feb 2010 17:32:44 +0000 (11:32 -0600)]
bug fix for checking AIX 32 bit environment: -maix32, not -m32.

10 years agoGet instruction categories right on Power--calls and returns need special handling...
Bill Williams [Thu, 4 Feb 2010 17:16:41 +0000 (11:16 -0600)]
Get instruction categories right on Power--calls and returns need special handling because we can't tell from just the opcode.

10 years agoAdded comparison instructions on Power to instruction categories.
Bill Williams [Thu, 4 Feb 2010 17:15:19 +0000 (11:15 -0600)]
Added comparison instructions on Power to instruction categories.

10 years agoAdd InstructionAPI to AIX/power build.
Bill Williams [Thu, 4 Feb 2010 17:14:23 +0000 (11:14 -0600)]
Add InstructionAPI to AIX/power build.

10 years agoSet architecture variable for power so we can use InstructionAPI.
Bill Williams [Thu, 4 Feb 2010 17:12:20 +0000 (11:12 -0600)]
Set architecture variable for power so we can use InstructionAPI.

10 years agoAdd power syscall instruction to IA_IAPI in preparation for power integration.
Bill Williams [Thu, 4 Feb 2010 17:11:37 +0000 (11:11 -0600)]
Add power syscall instruction to IA_IAPI in preparation for power integration.

10 years agoNew successor mechanism, comprehensive power CFT testing, added double Hummer tests...
Bill Williams [Fri, 29 Jan 2010 19:17:52 +0000 (13:17 -0600)]
New successor mechanism, comprehensive power CFT testing, added double Hummer tests for power.
FIXME: successor mechanism doesn't trigger delayed decode, needs explicit decode.
FIXME: new successor mechanism not used outside test suite
FIXME: new successor mechanism not consistent between x86 and power yet

10 years agoAdded test for blr instruction.
Bill Williams [Thu, 28 Jan 2010 21:30:43 +0000 (15:30 -0600)]
Added test for blr instruction.

10 years agoPower instructionAPI initial version. Read/write sets, all instruction forms tested...
Bill Williams [Thu, 28 Jan 2010 21:21:18 +0000 (15:21 -0600)]
Power instructionAPI initial version.  Read/write sets, all instruction forms tested decently.
TODO: full testing of Double Hummer insns, full testing of new CFT code.
TODO: massive cleanup of enum locations.
TODO: make all power registers printable.
Also included: changes to x86 decoder so that we can make CFTs work in a unified manner.

10 years agoDebug for Jim G.
Bill Williams [Wed, 27 Jan 2010 00:00:58 +0000 (18:00 -0600)]
Debug for Jim G.

10 years agoDefine max instruction size once and only once, and default-construct decoders with...
Bill Williams [Wed, 6 Jan 2010 18:02:24 +0000 (12:02 -0600)]
Define max instruction size once and only once, and default-construct decoders with a buffer the size of one max-length instruction if no size given

10 years ago* Added missing InstructionDecoder-x86 files to GIT.
Bill Williams [Wed, 6 Jan 2010 18:01:12 +0000 (12:01 -0600)]
* Added missing InstructionDecoder-x86 files to GIT.
* Added factory methods for dereference and register expressions to clean up decoder code.

10 years agoBuild fix
Bill Williams [Tue, 5 Jan 2010 22:05:57 +0000 (16:05 -0600)]
Build fix

10 years agoAdd instructionAPI test suite component to "make clean" target.
Bill Williams [Tue, 5 Jan 2010 21:21:17 +0000 (15:21 -0600)]
Add instructionAPI test suite component to "make clean" target.