dyninst.git
4 years agoRevert to default-off logs
Bill Williams [Wed, 24 Jun 2015 19:37:39 +0000 (14:37 -0500)]
Revert to default-off logs

4 years agoDon't add names (notably, from DWARF) that duplicate substrings of symbol-based names.
Bill Williams [Mon, 22 Jun 2015 21:06:17 +0000 (16:06 -0500)]
Don't add names (notably, from DWARF) that duplicate substrings of symbol-based names.

4 years agoDe-static some unnecessary statics
Bill Williams [Wed, 17 Jun 2015 19:20:00 +0000 (14:20 -0500)]
De-static some unnecessary statics

4 years agoRemove dead code
Bill Williams [Wed, 17 Jun 2015 19:19:31 +0000 (14:19 -0500)]
Remove dead code

4 years agoMore inline fixes
Bill Williams [Tue, 16 Jun 2015 19:17:54 +0000 (14:17 -0500)]
More inline fixes

4 years agoInline function handling: de-aggregate FunctionBase, add getName to functionBase...
Bill Williams [Mon, 15 Jun 2015 20:06:38 +0000 (15:06 -0500)]
Inline function handling: de-aggregate FunctionBase, add getName to functionBase for primary name, have a bunch of actual function interfaces virtual in FunctionBase rather than monolithically in Aggregate

4 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
SteveXiSong [Tue, 16 Jun 2015 21:34:41 +0000 (16:34 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

Conflicts:
dyninstAPI/src/ast.C

4 years agoMerge branch 'temp'
SteveXiSong [Tue, 16 Jun 2015 21:32:23 +0000 (16:32 -0500)]
Merge branch 'temp'

4 years ago modified: dyninstAPI/src/ast.C
SteveXiSong [Tue, 16 Jun 2015 21:28:50 +0000 (16:28 -0500)]
modified:   dyninstAPI/src/ast.C

4 years agoMerge branch 'master' of /p/paradyn/development/xmeng/dyninstapi/dyninst into HEAD
SteveXiSong [Tue, 16 Jun 2015 21:26:13 +0000 (16:26 -0500)]
Merge branch 'master' of /p/paradyn/development/xmeng/dyninstapi/dyninst into HEAD

Conflicts:
dyninstAPI/src/ast.C

modified:   dyninstAPI/src/ast.C

4 years agoMerge branch 'master' of /p/paradyn/development/xmeng/dyninstapi/dyninst
SteveXiSong [Tue, 16 Jun 2015 21:22:51 +0000 (16:22 -0500)]
Merge branch 'master' of /p/paradyn/development/xmeng/dyninstapi/dyninst

Conflicts:
dyninstAPI/src/ast.C

modified:   dyninstAPI/src/ast.C
modified:   dyninstAPI/src/emit-x86.h
modified:   dyninstAPI/src/emitter.h

4 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
SteveXiSong [Tue, 16 Jun 2015 19:38:49 +0000 (14:38 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

Conflicts:
dyninstAPI/src/ast.C

modified:   dyninstAPI/src/ast.C
modified:   dyninstAPI/src/emit-x86.h
modified:   dyninstAPI/src/emitter.h

4 years agoupdate sw
Steve [Tue, 9 Jun 2015 03:53:08 +0000 (22:53 -0500)]
update sw

4 years agoMerge branch 'arm64' of feta.cs.wisc.edu:/p/paradyn/development/xi/Dyninst/dyninst...
Steve [Fri, 5 Jun 2015 20:00:52 +0000 (15:00 -0500)]
Merge branch 'arm64' of feta.cs.wisc.edu:/p/paradyn/development/xi/Dyninst/dyninst into arm64

4 years agofix registerMap.c
SteveXiSong [Fri, 5 Jun 2015 19:47:23 +0000 (14:47 -0500)]
fix registerMap.c

4 years agoMerge branch 'arm64' of feta.cs.wisc.edu:/p/paradyn/development/xi/Dyninst/dyninst...
Steve [Wed, 3 Jun 2015 21:19:46 +0000 (16:19 -0500)]
Merge branch 'arm64' of feta.cs.wisc.edu:/p/paradyn/development/xi/Dyninst/dyninst into arm64

4 years agoremove warning
SteveXiSong [Wed, 3 Jun 2015 21:08:21 +0000 (16:08 -0500)]
remove warning

4 years agoremove warning
SteveXiSong [Wed, 3 Jun 2015 21:02:37 +0000 (16:02 -0500)]
remove warning

4 years agoremove warning
SteveXiSong [Wed, 3 Jun 2015 18:27:03 +0000 (13:27 -0500)]
remove warning

4 years agoMerge branch 'arm64' of feta.cs.wisc.edu:/p/paradyn/development/xi/Dyninst/dyninst...
Steve [Wed, 3 Jun 2015 16:48:12 +0000 (11:48 -0500)]
Merge branch 'arm64' of feta.cs.wisc.edu:/p/paradyn/development/xi/Dyninst/dyninst into arm64

4 years agocomment #error
SteveXiSong [Wed, 3 Jun 2015 16:36:46 +0000 (11:36 -0500)]
comment #error

4 years agoresolve conflicts
Steve [Wed, 3 Jun 2015 16:04:54 +0000 (11:04 -0500)]
resolve conflicts

4 years agofix warning defines
SteveXiSong [Wed, 3 Jun 2015 15:53:06 +0000 (10:53 -0500)]
fix warning defines

4 years agomodified for swk
Steve [Sat, 30 May 2015 03:40:41 +0000 (22:40 -0500)]
modified for swk

4 years agochange struct to classes
SteveXiSong [Fri, 22 May 2015 19:32:29 +0000 (14:32 -0500)]
change struct to classes

4 years agofixes some arm compile issues on x86
SteveXiSong [Fri, 22 May 2015 19:01:04 +0000 (14:01 -0500)]
fixes some arm compile issues on x86

4 years agoMove x86-specific emitters out of Emitter class
Emily Gember-Jacobson [Fri, 22 May 2015 16:47:50 +0000 (11:47 -0500)]
Move x86-specific emitters out of Emitter class

4 years agoDefine cap_stack_mods and properly limit stack mods to x86,x86_64
Emily Gember-Jacobson [Fri, 22 May 2015 14:05:25 +0000 (09:05 -0500)]
Define cap_stack_mods and properly limit stack mods to x86,x86_64

4 years agopull from feta
Steve [Fri, 22 May 2015 16:20:42 +0000 (11:20 -0500)]
pull from feta

4 years agorebased and tests passes
Steve [Fri, 22 May 2015 16:14:04 +0000 (11:14 -0500)]
rebased and tests passes

4 years agoTemporary aarch64 fixes
Steve [Thu, 21 May 2015 22:52:08 +0000 (17:52 -0500)]
Temporary aarch64 fixes

4 years agoproccontrol: all tests passed. Solution II is used to solve arm kernel bug.
Steve [Thu, 21 May 2015 19:22:49 +0000 (14:22 -0500)]
proccontrol: all tests passed. Solution II is used to solve arm kernel bug.

4 years agoadded branch reg for emulated ss
Steve [Mon, 4 May 2015 18:54:59 +0000 (13:54 -0500)]
added branch reg for emulated ss

4 years agoInitial cmake fixes
Bill Williams [Tue, 10 Mar 2015 18:27:00 +0000 (13:27 -0500)]
Initial cmake fixes

4 years agoproccontrol: all tests passed. Solution II is used to solve arm kernel bug.
Steve [Thu, 21 May 2015 19:22:49 +0000 (14:22 -0500)]
proccontrol: all tests passed. Solution II is used to solve arm kernel bug.

4 years agosolved proccontrol mt bug by simple solution.
Steve [Fri, 15 May 2015 16:14:05 +0000 (11:14 -0500)]
solved proccontrol mt bug by simple solution.

4 years agoadded branch reg for emulated ss
Steve [Mon, 4 May 2015 18:54:59 +0000 (13:54 -0500)]
added branch reg for emulated ss

4 years agopc works in sp, mp mode, but mt mode failed
Steve [Mon, 27 Apr 2015 22:01:15 +0000 (17:01 -0500)]
pc works in sp, mp mode, but mt mode failed

4 years ago new file: .syntastic_cpp_config
Steve [Mon, 6 Apr 2015 20:50:20 +0000 (15:50 -0500)]
new file:   .syntastic_cpp_config
new file:   common/h/Display
new file:   common/h/FileType
new file:   common/h/Initial
new file:   common/h/Others
modified:   common/h/dyn_regs.h
modified:   common/src/arch-aarch64.C
modified:   common/src/arch-aarch64.h
modified:   common/src/dyn_regs.C
modified:   dyninstAPI/src/RegisterConversion-aarch64.C
modified:   dyninstAPI/src/codegen-aarch64.C
modified:   dyninstAPI/src/debug.C
modified:   dyninstAPI/src/registerSpace.h
modified:   elf/src/SystemTap.C
new file:   proccontrol/.syntastic_cpp_config
modified:   proccontrol/CMakeLists.txt
modified:   proccontrol/h/PCErrors.h
new file:   proccontrol/src/Display
new file:   proccontrol/src/FileType
new file:   proccontrol/src/Initial
new file:   proccontrol/src/Others
modified:   proccontrol/src/arm_process.C
modified:   proccontrol/src/arm_process.h
modified:   proccontrol/src/linux.C
modified:   proccontrol/src/loadLibrary/codegen-aarch64.C
modified:   proccontrol/src/mmapalloc.C
modified:   proccontrol/src/pcerrors.C
modified:   proccontrol/src/process.C
modified:   proccontrol/src/snippets.h
modified:   proccontrol/src/unix.C
modified:   stackwalk/src/aarch64-swk.C
new file:   syscalls/unistd-by-platform/Linux/Arch_aarch64/unistd.h

4 years ago modified: common/CMakeLists.txt
Steve [Fri, 20 Mar 2015 20:06:15 +0000 (15:06 -0500)]
modified:   common/CMakeLists.txt
modified:   common/h/dyn_regs.h
modified:   common/src/arch-aarch64.C
modified:   common/src/arch-aarch64.h
modified:   common/src/arch.h
modified:   common/src/dyn_regs.C
modified:   dataflowAPI/src/ABI.C
modified:   dataflowAPI/src/RegisterMap.C
modified:   dyninstAPI/CMakeLists.txt
modified:   dyninstAPI/src/BPatch_snippet.C
new file:   dyninstAPI/src/RegisterConversion-aarch64.C
new file:   dyninstAPI/src/Relocation/Widgets/CFWidget-aarch64.C
modified:   dyninstAPI/src/Relocation/Widgets/CFWidget.h
modified:   dyninstAPI/src/arch-forward-decl.h
modified:   dyninstAPI/src/ast.C
modified:   dyninstAPI/src/binaryEdit.C
new file:   dyninstAPI/src/codegen-aarch64.C
new file:   dyninstAPI/src/codegen-aarch64.h
modified:   dyninstAPI/src/codegen.h
new file:   dyninstAPI/src/emit-aarch64.h
new file:   dyninstAPI/src/inst-aarch64.C
new file:   dyninstAPI/src/inst-aarch64.h
modified:   dyninstAPI/src/legacy-instruction.h
new file:   dyninstAPI/src/linux-aarch64.C
new file:   dyninstAPI/src/linux-aarch64.h
modified:   dyninstAPI/src/linux.h
modified:   dyninstAPI/src/mapped_object.C
new file:   dyninstAPI/src/parse-aarch64.C
modified:   dyninstAPI/src/registerSpace.C
modified:   dyninstAPI/src/registerSpace.h
new file:   dyninstAPI/src/stackwalk-aarch64.C
modified:   dyninstAPI/src/vxworks.h
modified:   dyninstAPI_RT/CMakeLists.txt
modified:   dyninstAPI_RT/src/RTcommon.c
modified:   dyninstAPI_RT/src/RTlinux.c
new file:   dyninstAPI_RT/src/RTstatic_ctors_dtors-aarch64.c
new file:   dyninstAPI_RT/src/RTthread-aarch64-asm.S
new file:   dyninstAPI_RT/src/RTthread-aarch64-asm.s
new file:   dyninstAPI_RT/src/RTthread-aarch64.c
modified:   parseAPI/CMakeLists.txt
modified:   parseAPI/h/CFGModifier.h
modified:   parseAPI/src/IA_IAPI.C
modified:   parseAPI/src/IA_IAPI.h
new file:   parseAPI/src/IA_aarch64.C
new file:   parseAPI/src/IA_aarch64.h
new file:   parseAPI/src/IA_aarch64Details.C
new file:   parseAPI/src/IA_aarch64Details.h
modified:   parseAPI/src/IA_platformDetailsFactory.C
new file:   parseAPI/src/InstructionSource-aarch64.C
modified:   parseAPI/src/SymLiteCodeSource.C
modified:   parseAPI/src/SymtabCodeSource.C
modified:   proccontrol/src/arm_process.C
modified:   stackwalk/CMakeLists.txt
new file:   stackwalk/src/aarch64-swk.C
new file:   stackwalk/src/linux-aarch64-swk.C

4 years ago modified: cmake/cap_arch_def.cmake
Steve [Mon, 16 Mar 2015 16:32:28 +0000 (11:32 -0500)]
modified:   cmake/cap_arch_def.cmake
modified:   common/h/dyn_regs.h
new file:   common/src/arch-aarch64.C
new file:   common/src/arch-aarch64.h
modified:   common/src/arch.h
modified:   common/src/dyn_regs.C
modified:   dwarf/src/dwarfHandle.C
modified:   proccontrol/CMakeLists.txt
new file:   proccontrol/src/arm_process.C
new file:   proccontrol/src/arm_process.h
modified:   proccontrol/src/linux.C
modified:   proccontrol/src/linux.h
new file:   proccontrol/src/loadLibrary/codegen-aarch64.C
modified:   symtabAPI/CMakeLists.txt
modified:   symtabAPI/src/emitElfStatic-aarch64.C
modified:   symtabAPI/src/relocationEntry-elf-aarch64.C

4 years ago modified: symtabAPI/CMakeLists.txt
Steve [Thu, 12 Mar 2015 16:12:09 +0000 (11:12 -0500)]
modified:   symtabAPI/CMakeLists.txt
new file:   symtabAPI/src/emitElfStatic-aarch64.C
modified:   symtabAPI/src/emitElfStatic.C
new file:   symtabAPI/src/relocationEntry-elf-aarch64.C

4 years agoInitial cmake fixes
Bill Williams [Tue, 10 Mar 2015 18:27:00 +0000 (13:27 -0500)]
Initial cmake fixes

4 years agopatch 2
SteveXiSong [Fri, 22 May 2015 02:00:23 +0000 (21:00 -0500)]
patch 2

4 years agoTesting stack mods build fix
SteveXiSong [Thu, 21 May 2015 22:40:54 +0000 (17:40 -0500)]
Testing stack mods build fix

4 years agoproccontrol: all tests passed. Solution II is used to solve arm kernel bug.
Steve [Thu, 21 May 2015 19:22:49 +0000 (14:22 -0500)]
proccontrol: all tests passed. Solution II is used to solve arm kernel bug.

4 years agoHandle complex LEA instructions in stack analysis.
Emily Gember-Jacobson [Fri, 8 May 2015 20:03:21 +0000 (15:03 -0500)]
Handle complex LEA instructions in stack analysis.

Existing stack analysis only handled LEA instructions with a single source
register. This ignores LEA instructions where the source is an SIB
expression. A new transfer func, sibFunc, has been added, and the apply()
and accumulate() functions have been updated to properly handle this new
transfer function.

4 years agoUpdate StackAnalysis::handleMov to handle non register-register moves.
Emily Gember-Jacobson [Fri, 8 May 2015 19:34:23 +0000 (14:34 -0500)]
Update StackAnalysis::handleMov to handle non register-register moves.

4 years agoUpdated StackAnalysis::handleAddSub to also operate on non-SP registers.
Emily Gember-Jacobson [Fri, 8 May 2015 19:32:09 +0000 (14:32 -0500)]
Updated StackAnalysis::handleAddSub to also operate on non-SP registers.

4 years agoRedefine StackAnalysis::handleDefault to round a register to TOP or BOTTOM,
Emily Gember-Jacobson [Fri, 8 May 2015 19:26:54 +0000 (14:26 -0500)]
Redefine StackAnalysis::handleDefault to round a register to TOP or BOTTOM,
instead of always setting to BOTTOM.

4 years agoModify StackAnalysis::findDefinedHeights to include registers with a height of BOTTOM.
Emily Gember-Jacobson [Fri, 8 May 2015 19:24:46 +0000 (14:24 -0500)]
Modify StackAnalysis::findDefinedHeights to include registers with a height of BOTTOM.

4 years agoIn stack analysis, add handlers for sign- and zero-extend instructions.
Emily Gember-Jacobson [Fri, 8 May 2015 19:23:43 +0000 (14:23 -0500)]
In stack analysis, add handlers for sign- and zero-extend instructions.

4 years agoExtend stack analysis transfer functions to handle targets that should be
Emily Gember-Jacobson [Fri, 8 May 2015 19:19:45 +0000 (14:19 -0500)]
Extend stack analysis transfer functions to handle targets that should be
"rounded" to TOP or BOTTOM.

This annotate transfer functions that have the following characteristic:
if target is TOP, keep as TOP
else, target must be set to BOTTOM
E.g., sign-extending a register:
  if the register had an uninitialized stack height (TOP),
    the sign-extension has no effect
  if the register had a valid or notunique (BOTTOM) stack height,
    the sign-extension must result in a BOTTOM stack height

4 years agoRedefine delta and abs to be of type long in StackAnalysis::TransferFunc
Emily Gember-Jacobson [Fri, 8 May 2015 19:03:03 +0000 (14:03 -0500)]
Redefine delta and abs to be of type long in StackAnalysis::TransferFunc

4 years agoBug fixes for arithmetic operations for StackAnalysis::Height
Emily Gember-Jacobson [Fri, 8 May 2015 18:45:45 +0000 (13:45 -0500)]
Bug fixes for arithmetic operations for StackAnalysis::Height

Previously, most arithmetic involving TOP returned TOP. This is not
correct, and the operators have been updated accordingly.

4 years agoAdd += operator for StackAnalysis::Height
Emily Gember-Jacobson [Fri, 8 May 2015 18:35:52 +0000 (13:35 -0500)]
Add += operator for StackAnalysis::Height

4 years agoAdd sensitivity analysis for stack modifications.
Emily Gember-Jacobson [Fri, 8 May 2015 18:33:05 +0000 (13:33 -0500)]
Add sensitivity analysis for stack modifications.

This sensitivity analysis determines which instructions access
relocated stack memory or stack memory shifted due to modifications;
these instructions are updated during relocation to access the new
stack locations (via a new StackModWidget).

4 years agoAdded insnCodeGen::modifyDisp, which modifies the displacement encoded in an instruction.
Emily Gember-Jacobson [Fri, 8 May 2015 18:11:51 +0000 (13:11 -0500)]
Added insnCodeGen::modifyDisp, which modifies the displacement encoded in an instruction.

4 years agoImplement stack modifications.
Emily Gember-Jacobson [Fri, 8 May 2015 17:37:21 +0000 (12:37 -0500)]
Implement stack modifications.

Stack modifications allow users to modify the stack frame layout by
inserting, removing, or moving stack space. Stack modifications are
based on the abstraction of stack locations, not the contents of
these locations. Further, we provide the ability to insert
stack canaries or to randomize the DWARF-provided local variables
in a stack frame.

4 years agoDefine >, <=, >=, and - operators for StackAnalysis::Height
Emily Gember-Jacobson [Fri, 8 May 2015 17:42:01 +0000 (12:42 -0500)]
Define >, <=, >=, and - operators for StackAnalysis::Height

4 years agoAdd several fortran functions to list of known non-returning functions
Emily Gember-Jacobson [Fri, 8 May 2015 15:55:35 +0000 (10:55 -0500)]
Add several fortran functions to list of known non-returning functions

4 years agoRecord the frameOffset as an absolute offset in VariableLocation (in addition to...
Emily Gember-Jacobson [Fri, 8 May 2015 15:47:55 +0000 (10:47 -0500)]
Record the frameOffset as an absolute offset in VariableLocation (in addition to the existing relative offset)

4 years agoAdd flag to codeGen class to generate instrumentation code without baseTramp saves...
Emily Gember-Jacobson [Fri, 8 May 2015 15:43:51 +0000 (10:43 -0500)]
Add flag to codeGen class to generate instrumentation code without baseTramp saves and restores.

4 years agoMove emitLEA into the Emitter class
Emily Gember-Jacobson [Fri, 8 May 2015 15:32:31 +0000 (10:32 -0500)]
Move emitLEA into the Emitter class

4 years agoAdd emit functions to handle various operations with segment registers
Emily Gember-Jacobson [Fri, 8 May 2015 15:17:23 +0000 (10:17 -0500)]
Add emit functions to handle various operations with segment registers

4 years agoAdd support for the x86::gs and x86_64::fs registers
Emily Gember-Jacobson [Fri, 8 May 2015 14:57:21 +0000 (09:57 -0500)]
Add support for the x86::gs and x86_64::fs registers

4 years agoAdd reverse iterators and an updateValue function to IntervalTree.
Emily Gember-Jacobson [Fri, 8 May 2015 14:29:03 +0000 (09:29 -0500)]
Add reverse iterators and an updateValue function to IntervalTree.

4 years agosolved proccontrol mt bug by simple solution.
Steve [Fri, 15 May 2015 16:14:05 +0000 (11:14 -0500)]
solved proccontrol mt bug by simple solution.

4 years agoInstall dataflowAPI public headers.
Emily Gember-Jacobson [Mon, 11 May 2015 20:25:43 +0000 (15:25 -0500)]
Install dataflowAPI public headers.

4 years agoCMake fixes for building/installing components separately.
Bill Williams [Wed, 15 Apr 2015 15:49:19 +0000 (10:49 -0500)]
CMake fixes for building/installing components separately.

4 years agoadded branch reg for emulated ss
Steve [Mon, 4 May 2015 18:54:59 +0000 (13:54 -0500)]
added branch reg for emulated ss

4 years agopc works in sp, mp mode, but mt mode failed
Steve [Mon, 27 Apr 2015 22:01:15 +0000 (17:01 -0500)]
pc works in sp, mp mode, but mt mode failed

4 years ago new file: .syntastic_cpp_config
Steve [Mon, 6 Apr 2015 20:50:20 +0000 (15:50 -0500)]
new file:   .syntastic_cpp_config
new file:   common/h/Display
new file:   common/h/FileType
new file:   common/h/Initial
new file:   common/h/Others
modified:   common/h/dyn_regs.h
modified:   common/src/arch-aarch64.C
modified:   common/src/arch-aarch64.h
modified:   common/src/dyn_regs.C
modified:   dyninstAPI/src/RegisterConversion-aarch64.C
modified:   dyninstAPI/src/codegen-aarch64.C
modified:   dyninstAPI/src/debug.C
modified:   dyninstAPI/src/registerSpace.h
modified:   elf/src/SystemTap.C
new file:   proccontrol/.syntastic_cpp_config
modified:   proccontrol/CMakeLists.txt
modified:   proccontrol/h/PCErrors.h
new file:   proccontrol/src/Display
new file:   proccontrol/src/FileType
new file:   proccontrol/src/Initial
new file:   proccontrol/src/Others
modified:   proccontrol/src/arm_process.C
modified:   proccontrol/src/arm_process.h
modified:   proccontrol/src/linux.C
modified:   proccontrol/src/loadLibrary/codegen-aarch64.C
modified:   proccontrol/src/mmapalloc.C
modified:   proccontrol/src/pcerrors.C
modified:   proccontrol/src/process.C
modified:   proccontrol/src/snippets.h
modified:   proccontrol/src/unix.C
modified:   stackwalk/src/aarch64-swk.C
new file:   syscalls/unistd-by-platform/Linux/Arch_aarch64/unistd.h

4 years agoInstructionAPI Integer Multiply
Alex Morris [Wed, 25 Mar 2015 19:14:57 +0000 (14:14 -0500)]
InstructionAPI Integer Multiply
This commit fixes the handling of AL/AX in 8-bit unsigned multiplication.

4 years agoDivision and Multiplication Semantics
Alex Morris [Tue, 24 Mar 2015 21:12:55 +0000 (16:12 -0500)]
Division and Multiplication Semantics
Removes implicit operands from being passed to ROSE semantics for
IA32 div, idiv, imul, and mul instructions.

4 years agoSlicing optimizations
Alex Morris [Tue, 24 Mar 2015 17:43:01 +0000 (12:43 -0500)]
Slicing optimizations
This commit re-incorporates the caching mechanism from the older slicer in
order to improve performance. The slicer additionally checks for cycles
in the data dependence graph, and collects cached definitions to create
complete and correct slices. This commit also fixes the issue where no
nodes are marked as entry or exit nodes.

4 years agoInitially label call edges as CALL, not NOEDGE
Emily Gember-Jacobson [Mon, 23 Mar 2015 20:09:01 +0000 (15:09 -0500)]
Initially label call edges as CALL, not NOEDGE

4 years ago modified: common/CMakeLists.txt
Steve [Fri, 20 Mar 2015 20:06:15 +0000 (15:06 -0500)]
modified:   common/CMakeLists.txt
modified:   common/h/dyn_regs.h
modified:   common/src/arch-aarch64.C
modified:   common/src/arch-aarch64.h
modified:   common/src/arch.h
modified:   common/src/dyn_regs.C
modified:   dataflowAPI/src/ABI.C
modified:   dataflowAPI/src/RegisterMap.C
modified:   dyninstAPI/CMakeLists.txt
modified:   dyninstAPI/src/BPatch_snippet.C
new file:   dyninstAPI/src/RegisterConversion-aarch64.C
new file:   dyninstAPI/src/Relocation/Widgets/CFWidget-aarch64.C
modified:   dyninstAPI/src/Relocation/Widgets/CFWidget.h
modified:   dyninstAPI/src/arch-forward-decl.h
modified:   dyninstAPI/src/ast.C
modified:   dyninstAPI/src/binaryEdit.C
new file:   dyninstAPI/src/codegen-aarch64.C
new file:   dyninstAPI/src/codegen-aarch64.h
modified:   dyninstAPI/src/codegen.h
new file:   dyninstAPI/src/emit-aarch64.h
new file:   dyninstAPI/src/inst-aarch64.C
new file:   dyninstAPI/src/inst-aarch64.h
modified:   dyninstAPI/src/legacy-instruction.h
new file:   dyninstAPI/src/linux-aarch64.C
new file:   dyninstAPI/src/linux-aarch64.h
modified:   dyninstAPI/src/linux.h
modified:   dyninstAPI/src/mapped_object.C
new file:   dyninstAPI/src/parse-aarch64.C
modified:   dyninstAPI/src/registerSpace.C
modified:   dyninstAPI/src/registerSpace.h
new file:   dyninstAPI/src/stackwalk-aarch64.C
modified:   dyninstAPI/src/vxworks.h
modified:   dyninstAPI_RT/CMakeLists.txt
modified:   dyninstAPI_RT/src/RTcommon.c
modified:   dyninstAPI_RT/src/RTlinux.c
new file:   dyninstAPI_RT/src/RTstatic_ctors_dtors-aarch64.c
new file:   dyninstAPI_RT/src/RTthread-aarch64-asm.S
new file:   dyninstAPI_RT/src/RTthread-aarch64-asm.s
new file:   dyninstAPI_RT/src/RTthread-aarch64.c
modified:   parseAPI/CMakeLists.txt
modified:   parseAPI/h/CFGModifier.h
modified:   parseAPI/src/IA_IAPI.C
modified:   parseAPI/src/IA_IAPI.h
new file:   parseAPI/src/IA_aarch64.C
new file:   parseAPI/src/IA_aarch64.h
new file:   parseAPI/src/IA_aarch64Details.C
new file:   parseAPI/src/IA_aarch64Details.h
modified:   parseAPI/src/IA_platformDetailsFactory.C
new file:   parseAPI/src/InstructionSource-aarch64.C
modified:   parseAPI/src/SymLiteCodeSource.C
modified:   parseAPI/src/SymtabCodeSource.C
modified:   proccontrol/src/arm_process.C
modified:   stackwalk/CMakeLists.txt
new file:   stackwalk/src/aarch64-swk.C
new file:   stackwalk/src/linux-aarch64-swk.C

4 years agoRemove unnecessary code in ProcessCFInsn
Emily Gember-Jacobson [Fri, 20 Mar 2015 19:22:02 +0000 (14:22 -0500)]
Remove unnecessary code in ProcessCFInsn

4 years agoCall instructions are not tailcalls.
Emily Gember-Jacobson [Thu, 19 Mar 2015 18:44:42 +0000 (13:44 -0500)]
Call instructions are not tailcalls.

4 years agoClean compiler warnings
Matthew LeGendre [Wed, 18 Mar 2015 21:51:42 +0000 (14:51 -0700)]
Clean compiler warnings

4 years agoClean stderr printfs out of libsymtabAPI
Matthew LeGendre [Wed, 18 Mar 2015 18:49:15 +0000 (11:49 -0700)]
Clean stderr printfs out of libsymtabAPI

4 years agoTailcall fix: if target block is known but is not func entry, not tail call
Emily Gember-Jacobson [Thu, 5 Mar 2015 16:55:58 +0000 (10:55 -0600)]
Tailcall fix: if target block is known but is not func entry, not tail call

4 years agoVarious slicing fixes.
Alex Morris [Tue, 17 Mar 2015 02:51:18 +0000 (21:51 -0500)]
Various slicing fixes.
This commit fixes recursion in the backwards case with multiple
assignments of interest from the same instruction. The mechanism
of using control-flow edges to control recursion and access cached
edges has been removed. Also, duplicate nodes are not created for
initial assignments that are in loops, and non-processor flag nodes
without outgoing edges are no longer erroneously deleted.

4 years ago modified: cmake/cap_arch_def.cmake
Steve [Mon, 16 Mar 2015 16:32:28 +0000 (11:32 -0500)]
modified:   cmake/cap_arch_def.cmake
modified:   common/h/dyn_regs.h
new file:   common/src/arch-aarch64.C
new file:   common/src/arch-aarch64.h
modified:   common/src/arch.h
modified:   common/src/dyn_regs.C
modified:   dwarf/src/dwarfHandle.C
modified:   proccontrol/CMakeLists.txt
new file:   proccontrol/src/arm_process.C
new file:   proccontrol/src/arm_process.h
modified:   proccontrol/src/linux.C
modified:   proccontrol/src/linux.h
new file:   proccontrol/src/loadLibrary/codegen-aarch64.C
modified:   symtabAPI/CMakeLists.txt
modified:   symtabAPI/src/emitElfStatic-aarch64.C
modified:   symtabAPI/src/relocationEntry-elf-aarch64.C

4 years ago modified: symtabAPI/CMakeLists.txt
Steve [Thu, 12 Mar 2015 16:12:09 +0000 (11:12 -0500)]
modified:   symtabAPI/CMakeLists.txt
new file:   symtabAPI/src/emitElfStatic-aarch64.C
modified:   symtabAPI/src/emitElfStatic.C
new file:   symtabAPI/src/relocationEntry-elf-aarch64.C

4 years agoHandle missing DW_FRAME_UNDEFINED_VAL case correctly.
Bill Williams [Wed, 4 Mar 2015 19:30:56 +0000 (13:30 -0600)]
Handle missing DW_FRAME_UNDEFINED_VAL case correctly.

4 years agoDead thread fix.
Bill Williams [Thu, 26 Feb 2015 20:15:33 +0000 (14:15 -0600)]
Dead thread fix.

4 years agoInitial cmake fixes
Bill Williams [Tue, 10 Mar 2015 18:27:00 +0000 (13:27 -0500)]
Initial cmake fixes

4 years agoHandle missing DW_FRAME_UNDEFINED_VAL case correctly.
Bill Williams [Wed, 4 Mar 2015 19:30:56 +0000 (13:30 -0600)]
Handle missing DW_FRAME_UNDEFINED_VAL case correctly.

4 years agoDead thread fix.
Bill Williams [Thu, 26 Feb 2015 20:15:33 +0000 (14:15 -0600)]
Dead thread fix.

4 years agoFix register operand size issue
Xiaozhu Meng [Mon, 23 Feb 2015 03:17:22 +0000 (21:17 -0600)]
Fix register operand size issue

4 years agoAdd error checking to verify that libraries passed to thread local functions belong...
Matthew LeGendre [Fri, 20 Feb 2015 19:45:44 +0000 (11:45 -0800)]
Add error checking to verify that libraries passed to thread local functions belong to the appropriate process.

4 years agoIn ProcControlAPI int_library objects, add an up pointer to track which mem_state...
Matthew LeGendre [Fri, 20 Feb 2015 19:44:14 +0000 (11:44 -0800)]
In ProcControlAPI int_library objects, add an up pointer to track which mem_state they belong to.

4 years agoForce frame pointers in stackwalker, no matter the optimization level
Bill Williams [Thu, 12 Feb 2015 18:47:34 +0000 (12:47 -0600)]
Force frame pointers in stackwalker, no matter the optimization level

4 years agoFix missing parameter name from inline wrapper
Bill Williams [Thu, 12 Feb 2015 17:43:24 +0000 (11:43 -0600)]
Fix missing parameter name from inline wrapper

4 years agoTLS-based tramp guards and cleanup
Bill Williams [Wed, 11 Feb 2015 19:13:16 +0000 (13:13 -0600)]
TLS-based tramp guards and cleanup

Ensure tramp guard gets unlocked by DYNINSTBaseInit so that static binaries work

4 years agoUpdated addBlocks to extend blocks to include as many NOPs as possible.
Emily Gember-Jacobson [Thu, 12 Feb 2015 22:59:57 +0000 (16:59 -0600)]
Updated addBlocks to extend blocks to include as many NOPs as possible.

4 years agoUpdated generatePush64 to 14-byte sequence (from 17)
Emily Gember-Jacobson [Mon, 9 Feb 2015 23:04:49 +0000 (17:04 -0600)]
Updated generatePush64 to 14-byte sequence (from 17)

4 years agoIn AddressSpace::relocate, add functions with overlapping blocks
Emily Gember-Jacobson [Fri, 6 Feb 2015 20:46:46 +0000 (14:46 -0600)]
In AddressSpace::relocate, add functions with overlapping blocks
to the list of modified functions.
Search per-block (func might contain shared blocks) rather than
just entry block (func might be contained in other funcs).