dyninst.git
3 years agokeep 4251 disabled
Peter Foley [Tue, 12 Jul 2016 16:49:23 +0000 (12:49 -0400)]
keep 4251 disabled

3 years agoadd missing include
Peter Foley [Thu, 23 Jun 2016 18:11:39 +0000 (14:11 -0400)]
add missing include

3 years agobuild DyninstAPI_RT_static too
Peter Foley [Thu, 23 Jun 2016 17:32:55 +0000 (13:32 -0400)]
build DyninstAPI_RT_static too

3 years agolimit build types
Peter Foley [Mon, 30 May 2016 21:43:06 +0000 (17:43 -0400)]
limit build types

3 years agoupdate gitignore
Peter Foley [Mon, 30 May 2016 21:21:23 +0000 (17:21 -0400)]
update gitignore

3 years agodisable unity builds
Peter Foley [Mon, 30 May 2016 18:44:21 +0000 (14:44 -0400)]
disable unity builds

3 years agoparallize vc++ builds
Peter Foley [Mon, 30 May 2016 18:32:26 +0000 (14:32 -0400)]
parallize vc++ builds

3 years agocotire vs fixes
Peter Foley [Mon, 30 May 2016 17:43:15 +0000 (13:43 -0400)]
cotire vs fixes

3 years agonamespace aarch64
Peter Foley [Sat, 14 May 2016 03:58:55 +0000 (23:58 -0400)]
namespace aarch64

3 years agocotire
Peter Foley [Fri, 13 May 2016 21:57:41 +0000 (17:57 -0400)]
cotire

3 years agowarnings
Peter Foley [Fri, 13 May 2016 22:15:43 +0000 (18:15 -0400)]
warnings

3 years agoreduce warning spam from system headers
Peter Foley [Fri, 6 May 2016 20:01:38 +0000 (16:01 -0400)]
reduce warning spam from system headers

3 years agoadd appveyor config
Peter Foley [Fri, 6 May 2016 14:54:43 +0000 (10:54 -0400)]
add appveyor config

3 years agoupdate gitignore
Peter Foley [Fri, 6 May 2016 15:17:23 +0000 (11:17 -0400)]
update gitignore

3 years agosymtabAPI: use the known type for new relocations
Josh Stone [Thu, 18 Aug 2016 00:20:54 +0000 (17:20 -0700)]
symtabAPI: use the known type for new relocations

In emitElf::createRelocationSections(), new relocations were calling
getGlobalRelType to determine their type.  However, this didn't take the
symbol type into account, so functions on PPC64 were getting GLOB_DAT
instead of JMP_SLOT, and they didn't work at all when called.

Each new relocationEntry already knows its type, so use getRelType().

3 years agoMerge pull request #155 from dyninst/sfm/feature/interproc_analysis
morehouse [Thu, 18 Aug 2016 14:31:30 +0000 (09:31 -0500)]
Merge pull request #155 from dyninst/sfm/feature/interproc_analysis

Sfm/feature/interproc analysis

3 years agoAllow BPatch_function::findPoint on uninstrumentable functions. 155/head
Matt Morehouse [Wed, 17 Aug 2016 19:07:33 +0000 (14:07 -0500)]
Allow BPatch_function::findPoint on uninstrumentable functions.

findPoint is useful for interprocedural analysis in StackMod, even
if the function passed in is uninstrumentable.

3 years agoImplement interprocedural analysis for StackMod.
Matt Morehouse [Wed, 17 Aug 2016 19:05:17 +0000 (14:05 -0500)]
Implement interprocedural analysis for StackMod.

Sort the call graph topologically, and then generate function
summaries in a bottom-up fashion, plugging in the summaries at
call sites during StackAnalysis.

3 years agoMerge pull request #154 from dyninst/release9.2/fixes/dwarfwalker_assert
morehouse [Wed, 17 Aug 2016 15:34:10 +0000 (10:34 -0500)]
Merge pull request #154 from dyninst/release9.2/fixes/dwarfwalker_assert

Remove unnecessary assert from dwarfWalker.  Fixes #152.

3 years agoRemove unnecessary assert from dwarfWalker. Fixes #152. 154/head
Matt Morehouse [Wed, 17 Aug 2016 14:40:53 +0000 (09:40 -0500)]
Remove unnecessary assert from dwarfWalker.  Fixes #152.

3 years agoAssume XMM registers contain floating-point values.
Matt Morehouse [Thu, 14 Jul 2016 14:20:26 +0000 (09:20 -0500)]
Assume XMM registers contain floating-point values.

3 years agoStop following catch edges during stack analysis.
Matt Morehouse [Thu, 14 Jul 2016 14:01:29 +0000 (09:01 -0500)]
Stop following catch edges during stack analysis.

Following catch edges results in garbage stack analysis results
since our current CFGs simply place catch edges at exit points of
the function.  In reality such edges do not exist.

3 years agoRemove EDX from x86 return registers.
Matt Morehouse [Thu, 14 Jul 2016 13:45:57 +0000 (08:45 -0500)]
Remove EDX from x86 return registers.

While RDX is considered a secondary return register in x86_64, EDX
is not considered a secondary return register in x86.

3 years agoRewrite default instruction handler.
Matt Morehouse [Thu, 14 Jul 2016 13:40:52 +0000 (08:40 -0500)]
Rewrite default instruction handler.

The original handler was too liberal, only rounding written
registers to TOP/BOTTOM.  The new handler computes a join over all
read registers and memory locations, rounds the result to TOP or
BOTTOM, and then assigns the rounded value to all written registers
and memory locations.

3 years agoMerge pull request #143 from dyninst/release9.2/fixes/test_pt_ls
Bill Williams [Fri, 12 Aug 2016 16:01:44 +0000 (11:01 -0500)]
Merge pull request #143 from dyninst/release9.2/fixes/test_pt_ls

Fixes for test_pt_ls

3 years agoMerge pull request #148 from cuviper/attach-no-exe-master
Josh Stone [Wed, 10 Aug 2016 00:53:18 +0000 (17:53 -0700)]
Merge pull request #148 from cuviper/attach-no-exe-master

proccontrol: fix process attachment without an exe

3 years agoproccontrol: improve Codegen's exe lookup 148/head
Josh Stone [Tue, 9 Aug 2016 21:15:52 +0000 (14:15 -0700)]
proccontrol: improve Codegen's exe lookup

Commit c8d7481 made `Codegen::generate` start opening the executable to
determine the ABI version of the process.  However, the llproc exe isn't
always set, if the process was attached without specifying it.  We can
instead get the right path from `proc_->libraries().getExecutable()`.

3 years agoproccontrol: make computeAddrWidth independent of endianness
Josh Stone [Tue, 9 Aug 2016 21:11:11 +0000 (14:11 -0700)]
proccontrol: make computeAddrWidth independent of endianness

In linux_process::computeAddrWidth(), it's trying to guess the address
size without disk access, but commit c8d7481 started opening the exe to
figure out its endianness.  This is especially a problem if a process
was attached without specifying its executable.

We can modify the auxv scan to look at *both* little-endian and big-
endian words.  If either are all zero, we know this is a 64-bit process.
We could even report which endian it is from this, although we still
wouldn't know that for 32-bit processes.

3 years agoAdded more startup printf statements for findMain success or failure. 142/head 143/head
John Detter [Wed, 3 Aug 2016 18:55:30 +0000 (13:55 -0500)]
Added more startup printf statements for findMain success or failure.

3 years agofindMain will now return 0 on success, -1 on failure instead of asserting.
John Detter [Wed, 3 Aug 2016 18:48:30 +0000 (13:48 -0500)]
findMain will now return 0 on success, -1 on failure instead of asserting.
The visitor has been improved and should be able to recognize more
false positives. Verbose debugging output has been converted to
startup_printfs.

3 years agoMerge pull request #141 from dyninst/release9.2/fixes/liveness-asserts
Josh Stone [Wed, 3 Aug 2016 18:22:03 +0000 (11:22 -0700)]
Merge pull request #141 from dyninst/release9.2/fixes/liveness-asserts

Added asserts in liveness.C to prevent buffer underreads for

3 years agoAdded asserts in liveness.C to prevent buffer underreads for 141/head
John Detter [Tue, 2 Aug 2016 22:52:32 +0000 (17:52 -0500)]
Added asserts in liveness.C to prevent buffer underreads for
registers that aren't defined. Partial fix for #114

3 years agoMerge pull request #134 from dyninst/release9.2/fixes/test_stack_1_assert
Bill Williams [Fri, 29 Jul 2016 20:31:38 +0000 (15:31 -0500)]
Merge pull request #134 from dyninst/release9.2/fixes/test_stack_1_assert

Matt's patch applied -- fixes test_stack_1 issue

3 years agoMatt's patch applied 134/head
John Detter [Fri, 29 Jul 2016 19:25:23 +0000 (14:25 -0500)]
Matt's patch applied

3 years agoIndirect tail calls can be PC-relative and should be treated as indirect calls during...
Xiaozhu Meng [Thu, 28 Jul 2016 14:58:52 +0000 (09:58 -0500)]
Indirect tail calls can be PC-relative and should be treated as indirect calls during relocation

3 years agoRemoved print statements
John Detter [Wed, 27 Jul 2016 08:14:40 +0000 (03:14 -0500)]
Removed print statements

3 years agodataflowAPI: space out template '>>' for pre-C++11 compatibility
Josh Stone [Tue, 26 Jul 2016 20:31:37 +0000 (13:31 -0700)]
dataflowAPI: space out template '>>' for pre-C++11 compatibility

3 years agoAdd support for immediate pushes in StackAnalysis.
Matt Morehouse [Tue, 26 Jul 2016 16:12:23 +0000 (11:12 -0500)]
Add support for immediate pushes in StackAnalysis.

3 years agoMerge pull request #129 from pefoley2/rose_fixes
ssunny7 [Tue, 26 Jul 2016 15:35:51 +0000 (10:35 -0500)]
Merge pull request #129 from pefoley2/rose_fixes

Rose build fixes

3 years agoEven when the jump target is unknown, we should still apply tail call heuristics...
Xiaozhu Meng [Tue, 26 Jul 2016 14:32:24 +0000 (09:32 -0500)]
Even when the jump target is unknown, we should still apply tail call heuristics to check if the jump is a tail call.
This can happen when the jump targets a unparsed function entry or the jump is an indirect tail call.

3 years agoRemoved debug statements
John Detter [Mon, 25 Jul 2016 21:29:29 +0000 (16:29 -0500)]
Removed debug statements

3 years agoFixes for Ubuntu 16.04
John Detter [Mon, 25 Jul 2016 21:13:12 +0000 (16:13 -0500)]
Fixes for Ubuntu 16.04

3 years agotest_pt_ls passing
John Detter [Mon, 25 Jul 2016 20:25:59 +0000 (15:25 -0500)]
test_pt_ls passing

3 years agoStarted work on dataflowAPI based analysis for findMain
John Detter [Fri, 22 Jul 2016 21:39:03 +0000 (16:39 -0500)]
Started work on dataflowAPI based analysis for findMain

3 years agomake Rose build on windows 129/head
Peter Foley [Thu, 21 Jul 2016 22:55:34 +0000 (18:55 -0400)]
make Rose build on windows

3 years agoonly suppress warnings for rose
Peter Foley [Thu, 21 Jul 2016 22:53:44 +0000 (18:53 -0400)]
only suppress warnings for rose

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
3 years agoFix std::isnan compile error
Peter Foley [Thu, 21 Jul 2016 21:44:40 +0000 (17:44 -0400)]
Fix std::isnan compile error

G++ 5.4 needs the using directive in c++11 mode.

3 years agoThe include "libtasn1.h" was wrongly added and shouldn't be there, removed it with...
Sunny Shah [Fri, 22 Jul 2016 20:55:08 +0000 (15:55 -0500)]
The include "libtasn1.h" was wrongly added and shouldn't be there, removed it with this commit

3 years agoMerge pull request #127 from dyninst/arm64/feature/semantics_setup
ssunny7 [Thu, 21 Jul 2016 20:39:44 +0000 (15:39 -0500)]
Merge pull request #127 from dyninst/arm64/feature/semantics_setup

Merge arm64/feature/semantics_setup into master

3 years agoset_type() in SgAsmExpression has to be virtual 127/head
Sunny Shah [Mon, 18 Jul 2016 22:13:12 +0000 (17:13 -0500)]
set_type() in SgAsmExpression has to be virtual

3 years agoMerge pull request #124 from dyninst/v9.2_patches
John Detter [Fri, 15 Jul 2016 15:55:56 +0000 (10:55 -0500)]
Merge pull request #124 from dyninst/v9.2_patches

V9.2 patches

3 years agoFixed issues seen while parsing a simple ARM binary
Sunny Shah [Thu, 14 Jul 2016 19:13:56 +0000 (14:13 -0500)]
Fixed issues seen while parsing a simple ARM binary

* Direct register expressions need to have their type set - this is set to SgAsmIntegerType for now. The type's signed-ness is set to unsigned, but it shouldn't matter because the only place register expressions' types are used is when accessing the width.
* regPos wasn't being set correctly for ARM flags when converting a Dyninst register to a ROSE register.
* The correct jump table analysis functions are now being called for ARM binaries.

3 years agoCreate Dispatcher object during symbolic expansion for instruction processing
Sunny Shah [Wed, 13 Jul 2016 16:25:23 +0000 (11:25 -0500)]
Create Dispatcher object during symbolic expansion for instruction processing

A BaseSemantics::Dispatcher object is created using the passed in RiscOperators object during the expansion of ARM64 instructions. A similar thing will be done for other architectures once they move to the new semantics.

3 years agoFixed issues seen while building SymEvalSemantics.C.
Sunny Shah [Wed, 13 Jul 2016 16:04:08 +0000 (11:04 -0500)]
Fixed issues seen while building SymEvalSemantics.C.

3 years agoAdded implementation for RiscOperators::addWithCarries().
Sunny Shah [Wed, 13 Jul 2016 16:02:26 +0000 (11:02 -0500)]
Added implementation for RiscOperators::addWithCarries().

3 years agoMerge pull request #118 from dyninst/release9.2/fixes/liveness-patch 124/head
John Detter [Tue, 12 Jul 2016 21:57:36 +0000 (16:57 -0500)]
Merge pull request #118 from dyninst/release9.2/fixes/liveness-patch

Release9.2/fixes/liveness patch

3 years agoAdded redundant register definitions 118/head
John Detter [Tue, 12 Jul 2016 21:51:39 +0000 (16:51 -0500)]
Added redundant register definitions

3 years agoMerge branch 'master' into release9.2/fixes/liveness-patch
John Detter [Tue, 12 Jul 2016 21:03:11 +0000 (16:03 -0500)]
Merge branch 'master' into release9.2/fixes/liveness-patch

3 years agoFix for #114. Support has been added for 32 bit YMM, ZMM and K mask registers to...
John Detter [Tue, 12 Jul 2016 20:59:28 +0000 (15:59 -0500)]
Fix for #114. Support has been added for 32 bit YMM, ZMM and K mask registers to prevent future similar issues.

3 years agoAllow accessing StateARM64's Dyninst::Address member in RegisterStateARM64 for use...
Sunny Shah [Tue, 12 Jul 2016 17:50:44 +0000 (12:50 -0500)]
Allow accessing StateARM64's Dyninst::Address member in RegisterStateARM64 for use by wrap().

When calling wrap() in RegisterStateARM64::readRegister(), the Dyninst::Address member passed in to StateARM64 needs to be accessed. A new RegisterStateARM64::readRegister is added which takes the RegisterDescriptor and the Dyninst::Address, and the default readRegister() causes an assert().

RiscOperators in SymEvalSemantics is renamed to RiscOperatorsARM64. Two methods in it were wrongly named -- they have been renamed to their correct versions.

Building of SymEvalSemantics is also enabled now.

3 years agoWhen reaching shared blocks that have been parsed, we still need to invalidate the...
Xiaozhu Meng [Tue, 12 Jul 2016 16:36:34 +0000 (11:36 -0500)]
When reaching shared blocks that have been parsed, we still need to invalidate the cache of the current function as the function should include all the shared blocks

3 years agoMerge branch 'release9.2/fixes/aes-extension' into v9.2_patches
John Detter [Mon, 11 Jul 2016 07:00:48 +0000 (02:00 -0500)]
Merge branch 'release9.2/fixes/aes-extension' into v9.2_patches

3 years agoMerge branch 'release9.2/fixes/modify-data-assert' into v9.2_patches
John Detter [Mon, 11 Jul 2016 07:00:30 +0000 (02:00 -0500)]
Merge branch 'release9.2/fixes/modify-data-assert' into v9.2_patches

3 years agoAdded definitions for the remaining pure virtual members of the RiscOperators class...
Sunny Shah [Fri, 8 Jul 2016 21:56:40 +0000 (16:56 -0500)]
Added definitions for the remaining pure virtual members of the RiscOperators class for use by SymEvalSemantics.

3 years agoAdded definitions for about half of the pure virtual methods of the RiscOperators...
Sunny Shah [Fri, 8 Jul 2016 21:26:29 +0000 (16:26 -0500)]
Added definitions for about half of the pure virtual methods of the RiscOperators class.

Most of these micro-operations just translate to the creation of a unary/binary/ternary AST. Utility methods for creating such ASTs and then wrapping them around a SValuePtr are also added.

3 years agoDefinitions of the register state, memory state and value type for SymEval semantics...
Sunny Shah [Fri, 8 Jul 2016 17:29:16 +0000 (12:29 -0500)]
Definitions of the register state, memory state and value type for SymEval semantics are now complete.

Also modified the intialization of all 4 required components in SymEval.C to use the new definitions instead of those in BaseSemantics2.h. The final RiscOperators object is thus setup to be usable by Dyninst.

3 years agoFix for #116
John Detter [Thu, 7 Jul 2016 21:04:52 +0000 (16:04 -0500)]
Fix for #116

3 years agoRemoved slicing check for "skipRegs".
Matt Morehouse [Thu, 7 Jul 2016 20:34:56 +0000 (15:34 -0500)]
Removed slicing check for "skipRegs".

Instruction displacement updates were being incorrectly calculated
for registers labeled as skipRegs.  Simply labeling such registers
as non-skipRegs fixes the issue.  Fixes #113.

3 years agoAdded missing CRC32 instruction variation 115/head
John Detter [Wed, 6 Jul 2016 21:19:09 +0000 (16:19 -0500)]
Added missing CRC32 instruction variation

3 years agoAES instruction extension complete.
John Detter [Wed, 6 Jul 2016 20:59:06 +0000 (15:59 -0500)]
AES instruction extension complete.

3 years agoAdding support for aes instruction set extension
John Detter [Wed, 6 Jul 2016 20:30:34 +0000 (15:30 -0500)]
Adding support for aes instruction set extension

4 years agoAdded definitions/declarations of methods for the ARM64 register state
Sunny Shah [Tue, 5 Jul 2016 18:00:27 +0000 (13:00 -0500)]
Added definitions/declarations of methods for the ARM64 register state

4 years agoClass declarations for SymEvalSemantics
Sunny Shah [Fri, 1 Jul 2016 22:02:15 +0000 (17:02 -0500)]
Class declarations for SymEvalSemantics

SymEvalPolicy is now called "SymEvalSemantics" - in line with the terminology of the new semantics framework. Using this requires the implementation of 4 main classes - SValue (the value type), RegisterState, MemoryState and RiscOperators. All of these inherit from their respective definitions in BaseSemantics2.h.

Everything from the old policy (eg. SymEvalPolicy) needs to be mapped to these 4 classes. Currently, the implementation of SValue is mostly complete (a couple methods are yet to be implemented and few others need a little more thought) and declarations for some methods in RiscOperators have been added.

4 years agoInitialize semantics for use with ARM64
Sunny Shah [Thu, 30 Jun 2016 18:21:25 +0000 (13:21 -0500)]
Initialize semantics for use with ARM64

Before the dispatcher for ARM64 can be called for instruction processing, the value type, register state, memory state and RISC operators need to be initialized. Ideally, these should be specific to Dyninst's SymEvalPolicy. That policy, however, needs to be re-written to work with the new semantics - this hasn't been done yet. Thus the current initializations of the type, states and operators use the base types (defined in BaseSemantics2.h) and will later by replaced by concretized versions.

4 years agoUpdate version numbers and dates in doc manuals v9.2.0
Xiaozhu Meng [Wed, 29 Jun 2016 21:54:14 +0000 (16:54 -0500)]
Update version numbers and dates in doc manuals

4 years agoBump version number and date for dyninstAPI and proccontrol manuals
Xiaozhu Meng [Wed, 29 Jun 2016 21:59:35 +0000 (16:59 -0500)]
Bump version number and date for dyninstAPI and proccontrol manuals

4 years agoAdd dataflow manual.
Bill Williams [Wed, 29 Jun 2016 21:50:18 +0000 (16:50 -0500)]
Add dataflow manual.

4 years agoUpdate manuals and docs target for 9.2.
Bill Williams [Wed, 29 Jun 2016 21:49:44 +0000 (16:49 -0500)]
Update manuals and docs target for 9.2.

4 years agoBump version to 9.2.0 and update README with 9.2 release notes.
Bill Williams [Wed, 29 Jun 2016 21:16:44 +0000 (16:16 -0500)]
Bump version to 9.2.0 and update README with 9.2 release notes.

4 years agoTrack the relationship between base and subregisters.
Matt Morehouse [Wed, 29 Jun 2016 19:17:31 +0000 (14:17 -0500)]
Track the relationship between base and subregisters.

Any modification of a base register (e.g., RAX) has a related
modification on its subregister (e.g., EAX).  The opposite is also
true.  This commit introduces functionality to track that
relationship so that modifying one register in the pair affects the
other register appropriately.

4 years agoRemove flag tracking from StackAnalysis.
Matt Morehouse [Wed, 29 Jun 2016 18:11:09 +0000 (13:11 -0500)]
Remove flag tracking from StackAnalysis.

4 years agoImprove handling of XOR.
Matt Morehouse [Wed, 29 Jun 2016 18:04:41 +0000 (13:04 -0500)]
Improve handling of XOR.

Add memory tracking to StackAnalysis::handleXor() and replace
the default handling with more correct handling.

4 years agoChange representation of delta functions.
Matt Morehouse [Wed, 29 Jun 2016 17:40:13 +0000 (12:40 -0500)]
Change representation of delta functions.

Represent delta functions as "copies with deltas", where the from
and target locations are the same.  This representation simplifies
much of the accumulation logic for deltas.

4 years agoRemove sentinel values from Height and TransferFunc classes.
Matt Morehouse [Wed, 29 Jun 2016 17:25:39 +0000 (12:25 -0500)]
Remove sentinel values from Height and TransferFunc classes.

Use a flag to specify TOP and BOTTOM rather than MAX_LONG and
MIN_LONG.

4 years agoReorganize StackAnalysis header file.
Matt Morehouse [Wed, 29 Jun 2016 17:00:33 +0000 (12:00 -0500)]
Reorganize StackAnalysis header file.

Move some implementation details to the implementation file to
avoid clutter.  Also ensure uniform indentation in both files.

4 years agoAdd function summary capability to StackAnalysis.
Matt Morehouse [Wed, 29 Jun 2016 16:20:45 +0000 (11:20 -0500)]
Add function summary capability to StackAnalysis.

A function summary is a mapping from Abslocs to TransferFuncs. Each
Absloc in the mapping represents an abstract location that is
modified by the function. Each TransferFunc in the mapping
describes how the corresponding Absloc is defined in terms of
function inputs after the function returns. This commit adds the
StackAnalysis::getFunctionSummary() method which generates and
returns function summaries for the specified function.

4 years agoMiscellaneous accumulation logic fixes.
Matt Morehouse [Wed, 29 Jun 2016 00:16:32 +0000 (19:16 -0500)]
Miscellaneous accumulation logic fixes.

4 years agoFix return handling and add memory tracking for leave instructions.
Matt Morehouse [Wed, 29 Jun 2016 00:14:58 +0000 (19:14 -0500)]
Fix return handling and add memory tracking for leave instructions.

4 years agoAdd memory tracking for push/pop instructions.
Matt Morehouse [Wed, 29 Jun 2016 00:05:28 +0000 (19:05 -0500)]
Add memory tracking for push/pop instructions.

4 years agoRename aliasFunc to copyFunc.
Matt Morehouse [Wed, 29 Jun 2016 00:03:45 +0000 (19:03 -0500)]
Rename aliasFunc to copyFunc.

Copying is a more accurate description of the operation that
aliasFunc has been capturing since the copied value can be modified
without changing any of the other copies.

4 years agoAdd check for stack accesses with unknown offsets.
Matt Morehouse [Tue, 28 Jun 2016 23:59:22 +0000 (18:59 -0500)]
Add check for stack accesses with unknown offsets.

4 years agoMerge branch 'arm64/feature/semantics_importnew'
Sunny Shah [Wed, 29 Jun 2016 18:03:13 +0000 (13:03 -0500)]
Merge branch 'arm64/feature/semantics_importnew'

4 years agoMerge branch 'master' of https://github.com/dyninst/dyninst
Sunny Shah [Wed, 29 Jun 2016 18:02:53 +0000 (13:02 -0500)]
Merge branch 'master' of https://github.com/dyninst/dyninst

4 years agoMerge pull request #112 from dyninst/release9.2/fixes/rewriter_assert
John Detter [Wed, 29 Jun 2016 15:59:17 +0000 (10:59 -0500)]
Merge pull request #112 from dyninst/release9.2/fixes/rewriter_assert

Disabled condition decoding in stack rewriting.

4 years agoDisabled condition decoding in stack rewriting. 112/head
John Detter [Wed, 29 Jun 2016 14:35:33 +0000 (09:35 -0500)]
Disabled condition decoding in stack rewriting.

4 years agoMerge pull request #109 from cuviper/paged-papercuts
Bill Williams [Tue, 28 Jun 2016 21:11:06 +0000 (16:11 -0500)]
Merge pull request #109 from cuviper/paged-papercuts

symtabAPI: Apply corrections for the library_adjust page offset

4 years agoMerge pull request #107 from dyninst/VEX
John Detter [Tue, 28 Jun 2016 20:32:19 +0000 (15:32 -0500)]
Merge pull request #107 from dyninst/VEX

Rewriter fixes, instruction decoding fixes.

4 years agoProperly check the return value of inferior malloc irpc 107/head
Xiaozhu Meng [Tue, 28 Jun 2016 18:34:12 +0000 (13:34 -0500)]
Properly check the return value of inferior malloc irpc

4 years agosymtabAPI: Apply corrections for the library_adjust page offset 109/head
Josh Stone [Tue, 28 Jun 2016 00:44:49 +0000 (17:44 -0700)]
symtabAPI: Apply corrections for the library_adjust page offset

This commit aggregates the incremental fixes that Bill Williams and I
found while investigating issue #93, rewriting libc.so.

- The offsets of new sections need to account for library_adjust when
  placing themselves after the first new section.
- TLS symbol values need *not* be adjusted, as they're section-relative.
- DT_INIT/FINI values need to be adjusted.
- x86 IRELATIVE relocations need their addends adjusted.

Fixes #93.

4 years agoMerge branch 'VEX' of http://github.com/dyninst/dyninst into VEX
John Detter [Tue, 28 Jun 2016 00:26:21 +0000 (19:26 -0500)]
Merge branch 'VEX' of github.com/dyninst/dyninst into VEX