[DynInst_API:] [dyninst/dyninst] 26a67d: Support for conversion from Instruction API object...


Date: Mon, 29 Aug 2016 02:03:24 -0700
From: Josh Stone <jistone@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 26a67d: Support for conversion from Instruction API object...
  Branch: refs/heads/release9.2/fixes/test_pt_ls
  Home:   https://github.com/dyninst/dyninst
  Commit: 26a67de8099a521a37acee996d70ef594c924a32
      https://github.com/dyninst/dyninst/commit/26a67de8099a521a37acee996d70ef594c924a32
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-06-07 (Tue, 07 Jun 2016)

  Changed paths:
    M common/src/dyn_regs.C
    A dataflowAPI/rose/RegisterDescriptor.h
    A dataflowAPI/rose/SgAsmArmv8Instruction.h
    M dataflowAPI/rose/SgAsmExpression.h
    M dataflowAPI/rose/SgAsmInstruction.h
    M dataflowAPI/rose/SgAsmOperandList.h
    M dataflowAPI/rose/SgAsmType.h
    M dataflowAPI/rose/conversions.h
    M dataflowAPI/rose/integerOps.h
    A dataflowAPI/rose/util/Assert.C
    A dataflowAPI/rose/util/Assert.h
    A dataflowAPI/rose/util/BitVector.h
    A dataflowAPI/rose/util/BitVectorSupport.h
    A dataflowAPI/rose/util/Interval.h
    A dataflowAPI/rose/util/Map.h
    A dataflowAPI/rose/util/Message.C
    A dataflowAPI/rose/util/Message.h
    A dataflowAPI/rose/util/Optional.h
    A dataflowAPI/rose/util/Sawyer.C
    A dataflowAPI/rose/util/Sawyer.h
    A dataflowAPI/rose/util/SharedPointer.h
    A dataflowAPI/rose/util/Synchronization.C
    A dataflowAPI/rose/util/Synchronization.h
    A dataflowAPI/rose/util/WarningsOff.h
    A dataflowAPI/rose/util/WarningsRestore.h
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/RoseImpl.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/RoseInsnFactory.h
    M dataflowAPI/src/convertOpcodes.C
    A external/rose/armv8InstructionEnum.h
    M external/rose/rose-compat.h
    A external/variantComparer.py
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  Support for conversion from Instruction API objects to Rose SgAsmInstruction objects for ARMv8

This commit is the first in a branch that will contain all changes for enabling the conversion from ARMv8 Instruction API objects to SgAsmInstruction objects. Since ROSE doesn't support ARMv8, the instruction representation for it has been added by extending SgAsmInstruction. getROSERegister is also modified to map Dyninst registers to ROSE ARMv8 registers, which have again been newly added and are defined in the armv8InstructionEnum file. ROSE instruction factory for ARMv8 does not perform any processing to Instruction API operands when performing the conversion (unlike x86 and Power) -- this is primarily because there is no existing ARMv8 semantics to conform to.

This commit also brings in lots of changes to the ROSE interface for representing an instruction and its parts:
* SgAsm*ValueExpression types are now replaces with SgAsm(Integer/Float)ValueExpression types; SgAsmType* have been replaced by SgAsmType(Integer/Float). The old classes remain to support the existing x86/Power semantics.
* Several changes are made to the classes that were already present. These changes support existing semantics and will also work for ARMv8.
* New classes have been added for representation of expressions.
* Several classes in the Sawyer namespace of ROSE have been added -- these are used in the newly introduced Sg* classes, and will also be used for ARM semantics.
* ROSE's new representation for registers uses RegisterDescriptor and a new class for register expressions (SgAsmDirectRegisterExoression).
* The new types are used based on a check on the architecture.
* Opcodes for ARMv8 have the same name in ROSE as in Dyninst, except that the name is prefixed by the string "rose_".


  Commit: ae5df2f421f85e049a9ee7b4be6851ee9be9d381
      https://github.com/dyninst/dyninst/commit/ae5df2f421f85e049a9ee7b4be6851ee9be9d381
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-06-15 (Wed, 15 Jun 2016)

  Changed paths:
    M common/src/dyn_regs.C
    A dataflowAPI/rose/RegisterDescriptor.h
    A dataflowAPI/rose/SgAsmArmv8Instruction.h
    M dataflowAPI/rose/SgAsmExpression.h
    M dataflowAPI/rose/SgAsmInstruction.h
    M dataflowAPI/rose/SgAsmOperandList.h
    M dataflowAPI/rose/SgAsmType.h
    M dataflowAPI/rose/conversions.h
    M dataflowAPI/rose/integerOps.h
    A dataflowAPI/rose/util/Assert.C
    A dataflowAPI/rose/util/Assert.h
    A dataflowAPI/rose/util/BitVector.h
    A dataflowAPI/rose/util/BitVectorSupport.h
    A dataflowAPI/rose/util/Interval.h
    A dataflowAPI/rose/util/Map.h
    A dataflowAPI/rose/util/Message.C
    A dataflowAPI/rose/util/Message.h
    A dataflowAPI/rose/util/Optional.h
    A dataflowAPI/rose/util/Sawyer.C
    A dataflowAPI/rose/util/Sawyer.h
    A dataflowAPI/rose/util/SharedPointer.h
    A dataflowAPI/rose/util/Synchronization.C
    A dataflowAPI/rose/util/Synchronization.h
    A dataflowAPI/rose/util/WarningsOff.h
    A dataflowAPI/rose/util/WarningsRestore.h
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/RoseImpl.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/RoseInsnFactory.h
    M dataflowAPI/src/convertOpcodes.C
    A external/rose/armv8InstructionEnum.h
    M external/rose/rose-compat.h
    A external/variantComparer.py
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  Merge branch 'arm64/feature/semantics_roseconvert'


  Commit: 558227822b7c7e185a4e1b08dbd62322567c24fe
      https://github.com/dyninst/dyninst/commit/558227822b7c7e185a4e1b08dbd62322567c24fe
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-06-27 (Mon, 27 Jun 2016)

  Changed paths:
    A dataflowAPI/rose/ExtentMap.C
    A dataflowAPI/rose/ExtentMap.h
    M dataflowAPI/rose/SgAsmExpression.h
    M dataflowAPI/rose/SgAsmInstruction.h
    M dataflowAPI/rose/SgAsmType.h
    M dataflowAPI/rose/SgAsmx86Instruction.h
    M dataflowAPI/rose/conversions.h
    A dataflowAPI/rose/rangemap.C
    A dataflowAPI/rose/rangemap.h
    A dataflowAPI/rose/semantics/BaseSemantics2.C
    A dataflowAPI/rose/semantics/BaseSemantics2.h
    A dataflowAPI/rose/semantics/BinarySymbolicExpr.C
    A dataflowAPI/rose/semantics/BinarySymbolicExpr.h
    A dataflowAPI/rose/semantics/ByteOrder.C
    A dataflowAPI/rose/semantics/ByteOrder.h
    A dataflowAPI/rose/semantics/ConcreteSemantics2.C
    A dataflowAPI/rose/semantics/ConcreteSemantics2.h
    A dataflowAPI/rose/semantics/DispatcherARM64.C
    A dataflowAPI/rose/semantics/DispatcherARM64.h
    A dataflowAPI/rose/semantics/MemoryMap.C
    A dataflowAPI/rose/semantics/MemoryMap.h
    A dataflowAPI/rose/semantics/RegisterParts.C
    A dataflowAPI/rose/semantics/RegisterParts.h
    A dataflowAPI/rose/semantics/RegisterStateGeneric.C
    A dataflowAPI/rose/semantics/RegisterStateGeneric.h
    A dataflowAPI/rose/semantics/Registers.C
    A dataflowAPI/rose/semantics/Registers.h
    A dataflowAPI/rose/semantics/SMTSolver.C
    A dataflowAPI/rose/semantics/SMTSolver.h
    A dataflowAPI/rose/util/Access.h
    A dataflowAPI/rose/util/AddressMap.h
    A dataflowAPI/rose/util/AddressSegment.h
    A dataflowAPI/rose/util/AllocatingBuffer.h
    A dataflowAPI/rose/util/Attribute.C
    A dataflowAPI/rose/util/Attribute.h
    A dataflowAPI/rose/util/BiMap.h
    A dataflowAPI/rose/util/Buffer.h
    A dataflowAPI/rose/util/Callbacks.h
    A dataflowAPI/rose/util/Combinatorics.C
    A dataflowAPI/rose/util/Combinatorics.h
    A dataflowAPI/rose/util/Exception.h
    A dataflowAPI/rose/util/FileSystem.C
    A dataflowAPI/rose/util/FileSystem.h
    A dataflowAPI/rose/util/FormatRestorer.h
    A dataflowAPI/rose/util/IntervalMap.h
    A dataflowAPI/rose/util/IntervalSet.h
    A dataflowAPI/rose/util/IntervalSetMap.h
    A dataflowAPI/rose/util/LinearCongruentialGenerator.C
    A dataflowAPI/rose/util/LinearCongruentialGenerator.h
    A dataflowAPI/rose/util/MappedBuffer.h
    A dataflowAPI/rose/util/NullBuffer.h
    A dataflowAPI/rose/util/PoolAllocator.h
    A dataflowAPI/rose/util/Set.h
    M dataflowAPI/rose/util/SharedPointer.h
    A dataflowAPI/rose/util/SmallObject.C
    A dataflowAPI/rose/util/SmallObject.h
    A dataflowAPI/rose/util/StaticBuffer.h
    A dataflowAPI/rose/util/Stopwatch.C
    A dataflowAPI/rose/util/Stopwatch.h
    A dataflowAPI/rose/util/StringUtility.C
    A dataflowAPI/rose/util/StringUtility.h
    A dataflowAPI/rose/util/rose_getline.C
    A dataflowAPI/rose/util/rose_getline.h
    A dataflowAPI/rose/util/rose_strtoull.C
    A dataflowAPI/rose/util/rose_strtoull.h
    M dataflowAPI/src/RoseImpl.C
    A external/rose/rose_msvc.h
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  Integration of ROSE's new semantics framework with Dyninst

This commit brings in and sets up all the files required to use the new ROSE semantics framework from within Dyninst. The starting point for this was the src/midend/binaryAnalyses/instructionSemantics folder within ROSE's source tree. All the other files have been added because semantics directlyu or indirectly depends on them.

After adding the file to the Dyninst source, several changes may or may not have been made to it. Most of the changes revolve around updating the include paths and removing any macros used by ROSE but not required by Dyninst. Other minor changes have also been made based on build errors/warnings.

Currently, he build succeeds but with a ton of warnings. I've suppressed them for the time being.

By doing this, both old and new instruction semantics should ideally be able to co-exist, although this hasn't been tested yet.


  Commit: 4e4f312fd963725767f21988e8ad07809faab30e
      https://github.com/dyninst/dyninst/commit/4e4f312fd963725767f21988e8ad07809faab30e
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-06-27 (Mon, 27 Jun 2016)

  Changed paths:
    M .gitignore
    M .travis.yml
    R ALL_BUILD.vcxproj
    M CMakeLists.txt
    R Dyninst.sln
    R DyninstAPI.sln
    R INSTALL.vcxproj
    R Installer/Installer.vdproj
    R ZERO_CHECK.vcxproj
    R cmake/Modules/FindDIASDK.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake
    M common/CMakeLists.txt
    R common/INSTALL.vcxproj
    R common/common.sln
    R common/common.vcproj
    R common/common.vcxproj
    M common/h/entryIDs.h
    M common/h/util.h
    M common/src/Types.C
    M common/src/arch-x86.C
    M common/src/arch-x86.h
    M common/src/serialize-bin.C
    M common/src/util.C
    M dataflowAPI/rose/x86_64InstructionSemantics.h
    M dataflowAPI/src/RoseInsnFactory.C
    R dyninstAPI/INSTALL.vcxproj
    M dyninstAPI/doc/dyninstAPI.doc
    M dyninstAPI/doc/dyninstAPI.pdf
    R dyninstAPI/dyninstAPI.vcproj
    R dyninstAPI/dyninstAPI.vcxproj
    M dyninstAPI/src/BPatch_type.C
    M dyninstAPI/src/StackMod/StackLocation.h
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/addressSpace.h
    M dyninstAPI/src/debug.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/pdwinnt.C
    R dyninstAPI_RT/DyninstAPI_RT.vcproj
    R dyninstAPI_RT/DyninstAPI_RT.vcxproj
    R dyninstAPI_RT/INSTALL.vcxproj
    R dyninstAPI_RT/dyninstAPI_RT_static.vcxproj
    M dyninstAPI_RT/src/RTcommon.c
    M dyninstAPI_RT/src/RTheap.c
    A external/cvconst/LICENSE
    A external/cvconst/README
    A external/cvconst/cvconst.h
    R instructionAPI/INSTALL.vcxproj
    R instructionAPI/instructionAPI.vcproj
    R instructionAPI/instructionAPI.vcxproj
    M instructionAPI/src/InstructionDecoder-x86.C
    M instructionAPI/src/InstructionDecoder-x86.h
    R parseAPI/INSTALL.vcxproj
    M parseAPI/h/CFGModifier.h
    M parseAPI/h/CodeSource.h
    M parseAPI/h/InstructionSource.h
    R parseAPI/parseAPI.vcproj
    R parseAPI/parseAPI.vcxproj
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/BoundFactData.h
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/JumpTablePred.C
    M parseAPI/src/JumpTablePred.h
    M parseAPI/src/ParseData.C
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C
    R patchAPI/INSTALL.vcxproj
    R patchAPI/patchAPI.vcproj
    R patchAPI/patchAPI.vcxproj
    M proccontrol/h/EventType.h
    R proccontrol/pcontrol.vcxproj
    R proccontrol/proccontrol.vcproj
    R proccontrol/proccontrol.vcxproj
    R proccontrol/proccontrol.vcxproj.filters
    M proccontrol/src/GeneratorWindows.C
    M proccontrol/src/loadLibrary/injector.C
    M proccontrol/src/windows_process.C
    M proccontrol/src/windows_process.h
    R stackwalk/INSTALL.vcxproj
    M stackwalk/h/frame.h
    M stackwalk/src/frame.C
    R stackwalk/stackwalk.vcproj
    R stackwalk/stackwalk.vcxproj
    R symtabAPI/INSTALL.vcxproj
    R symtabAPI/SymtabAPI.sln
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Object-nt.C
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h
    R symtabAPI/symtabAPI.vcproj
    R symtabAPI/symtabAPI.vcxproj

  Log Message:
  -----------
  Merge branch 'master' of https://github.com/dyninst/dyninst


  Commit: acbcadd154b29fea3e6ec6b5eb8bb0f2689328e4
      https://github.com/dyninst/dyninst/commit/acbcadd154b29fea3e6ec6b5eb8bb0f2689328e4
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-06-29 (Wed, 29 Jun 2016)

  Changed paths:
    M .travis.yml
    M common/src/arch-x86.C
    M common/src/arch-x86.h
    M dyninstAPI/src/codegen-x86.C
    M instructionAPI/src/InstructionDecoder-x86.C
    M proccontrol/src/irpc.C
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElfStatic.C

  Log Message:
  -----------
  Merge branch 'master' of https://github.com/dyninst/dyninst


  Commit: 687c6f5f9f8a32f7a9e6fc0f2fff657e653a919f
      https://github.com/dyninst/dyninst/commit/687c6f5f9f8a32f7a9e6fc0f2fff657e653a919f
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-06-29 (Wed, 29 Jun 2016)

  Changed paths:
    A dataflowAPI/rose/ExtentMap.C
    A dataflowAPI/rose/ExtentMap.h
    M dataflowAPI/rose/SgAsmExpression.h
    M dataflowAPI/rose/SgAsmInstruction.h
    M dataflowAPI/rose/SgAsmType.h
    M dataflowAPI/rose/SgAsmx86Instruction.h
    M dataflowAPI/rose/conversions.h
    A dataflowAPI/rose/rangemap.C
    A dataflowAPI/rose/rangemap.h
    A dataflowAPI/rose/semantics/BaseSemantics2.C
    A dataflowAPI/rose/semantics/BaseSemantics2.h
    A dataflowAPI/rose/semantics/BinarySymbolicExpr.C
    A dataflowAPI/rose/semantics/BinarySymbolicExpr.h
    A dataflowAPI/rose/semantics/ByteOrder.C
    A dataflowAPI/rose/semantics/ByteOrder.h
    A dataflowAPI/rose/semantics/ConcreteSemantics2.C
    A dataflowAPI/rose/semantics/ConcreteSemantics2.h
    A dataflowAPI/rose/semantics/DispatcherARM64.C
    A dataflowAPI/rose/semantics/DispatcherARM64.h
    A dataflowAPI/rose/semantics/MemoryMap.C
    A dataflowAPI/rose/semantics/MemoryMap.h
    A dataflowAPI/rose/semantics/RegisterParts.C
    A dataflowAPI/rose/semantics/RegisterParts.h
    A dataflowAPI/rose/semantics/RegisterStateGeneric.C
    A dataflowAPI/rose/semantics/RegisterStateGeneric.h
    A dataflowAPI/rose/semantics/Registers.C
    A dataflowAPI/rose/semantics/Registers.h
    A dataflowAPI/rose/semantics/SMTSolver.C
    A dataflowAPI/rose/semantics/SMTSolver.h
    A dataflowAPI/rose/util/Access.h
    A dataflowAPI/rose/util/AddressMap.h
    A dataflowAPI/rose/util/AddressSegment.h
    A dataflowAPI/rose/util/AllocatingBuffer.h
    A dataflowAPI/rose/util/Attribute.C
    A dataflowAPI/rose/util/Attribute.h
    A dataflowAPI/rose/util/BiMap.h
    A dataflowAPI/rose/util/Buffer.h
    A dataflowAPI/rose/util/Callbacks.h
    A dataflowAPI/rose/util/Combinatorics.C
    A dataflowAPI/rose/util/Combinatorics.h
    A dataflowAPI/rose/util/Exception.h
    A dataflowAPI/rose/util/FileSystem.C
    A dataflowAPI/rose/util/FileSystem.h
    A dataflowAPI/rose/util/FormatRestorer.h
    A dataflowAPI/rose/util/IntervalMap.h
    A dataflowAPI/rose/util/IntervalSet.h
    A dataflowAPI/rose/util/IntervalSetMap.h
    A dataflowAPI/rose/util/LinearCongruentialGenerator.C
    A dataflowAPI/rose/util/LinearCongruentialGenerator.h
    A dataflowAPI/rose/util/MappedBuffer.h
    A dataflowAPI/rose/util/NullBuffer.h
    A dataflowAPI/rose/util/PoolAllocator.h
    A dataflowAPI/rose/util/Set.h
    M dataflowAPI/rose/util/SharedPointer.h
    A dataflowAPI/rose/util/SmallObject.C
    A dataflowAPI/rose/util/SmallObject.h
    A dataflowAPI/rose/util/StaticBuffer.h
    A dataflowAPI/rose/util/Stopwatch.C
    A dataflowAPI/rose/util/Stopwatch.h
    A dataflowAPI/rose/util/StringUtility.C
    A dataflowAPI/rose/util/StringUtility.h
    A dataflowAPI/rose/util/rose_getline.C
    A dataflowAPI/rose/util/rose_getline.h
    A dataflowAPI/rose/util/rose_strtoull.C
    A dataflowAPI/rose/util/rose_strtoull.h
    M dataflowAPI/src/RoseImpl.C
    A external/rose/rose_msvc.h
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  Merge branch 'arm64/feature/semantics_importnew'


  Commit: 8028c5333da9716f85cbf84c80cc4b75324529f0
      https://github.com/dyninst/dyninst/commit/8028c5333da9716f85cbf84c80cc4b75324529f0
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-06-30 (Thu, 30 Jun 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/DispatcherARM64.h
    M dataflowAPI/src/SymEval.C
    M dataflowAPI/src/SymbolicExpansion.C
    M dataflowAPI/src/SymbolicExpansion.h

  Log Message:
  -----------
  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.


  Commit: f9dfca3b19aaba4270d11c64a74c2e11ece7046a
      https://github.com/dyninst/dyninst/commit/f9dfca3b19aaba4270d11c64a74c2e11ece7046a
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-01 (Fri, 01 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/BaseSemantics2.h
    A dataflowAPI/rose/semantics/SymEvalSemantics.C
    A dataflowAPI/rose/semantics/SymEvalSemantics.h

  Log Message:
  -----------
  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.


  Commit: 6e09e048f49e101d23e92099b51876a251faa336
      https://github.com/dyninst/dyninst/commit/6e09e048f49e101d23e92099b51876a251faa336
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-05 (Tue, 05 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/SymEvalSemantics.h

  Log Message:
  -----------
  Added definitions/declarations of methods for the ARM64 register state


  Commit: cde790e8ffc56cc1ce5f644e794575817e3c36ad
      https://github.com/dyninst/dyninst/commit/cde790e8ffc56cc1ce5f644e794575817e3c36ad
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-08 (Fri, 08 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/SymEvalSemantics.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.h
    M dataflowAPI/src/SymEval.C
    M dataflowAPI/src/SymbolicExpansion.h

  Log Message:
  -----------
  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.


  Commit: a8a83dac4d314361f76797c031a942a77894e6d6
      https://github.com/dyninst/dyninst/commit/a8a83dac4d314361f76797c031a942a77894e6d6
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-08 (Fri, 08 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/SymEvalSemantics.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.h

  Log Message:
  -----------
  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.


  Commit: f8ad50d8b1b691761f0eaf7ccf3f3dbbfe7a8ea3
      https://github.com/dyninst/dyninst/commit/f8ad50d8b1b691761f0eaf7ccf3f3dbbfe7a8ea3
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-08 (Fri, 08 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/SymEvalSemantics.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.h

  Log Message:
  -----------
  Added definitions for the remaining pure virtual members of the RiscOperators class for use by SymEvalSemantics.


  Commit: 322964ef7b002bb470f0d595c54c5ba84835490e
      https://github.com/dyninst/dyninst/commit/322964ef7b002bb470f0d595c54c5ba84835490e
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-12 (Tue, 12 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/DispatcherARM64.h
    M dataflowAPI/rose/semantics/SymEvalSemantics.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.h
    M dataflowAPI/src/SymEval.C
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  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.


  Commit: d1a7838d0cf39c6f38842802d6104cbcf93c4748
      https://github.com/dyninst/dyninst/commit/d1a7838d0cf39c6f38842802d6104cbcf93c4748
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-13 (Wed, 13 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/SymEvalSemantics.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.h

  Log Message:
  -----------
  Added implementation for RiscOperators::addWithCarries().


  Commit: e2b4d7cefa72cfdaf53b6d2b38f86977cdd6e26d
      https://github.com/dyninst/dyninst/commit/e2b4d7cefa72cfdaf53b6d2b38f86977cdd6e26d
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-13 (Wed, 13 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/SgNode.h
    M dataflowAPI/rose/semantics/SMTSolver.h
    M dataflowAPI/rose/util/BitVectorSupport.h
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/RoseInsnFactory.h

  Log Message:
  -----------
  Fixed issues seen while building SymEvalSemantics.C.


  Commit: 7070044ee86101410cf82988b9259caaeb003333
      https://github.com/dyninst/dyninst/commit/7070044ee86101410cf82988b9259caaeb003333
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-13 (Wed, 13 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/DispatcherARM64.C
    M dataflowAPI/src/SymbolicExpansion.C
    M dataflowAPI/src/SymbolicExpansion.h

  Log Message:
  -----------
  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.


  Commit: fdf66ae928e8ef5febaddbc031bf9491b9b2d620
      https://github.com/dyninst/dyninst/commit/fdf66ae928e8ef5febaddbc031bf9491b9b2d620
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-14 (Thu, 14 Jul 2016)

  Changed paths:
    M common/src/dyn_regs.C
    M dataflowAPI/rose/semantics/DispatcherARM64.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.C
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M parseAPI/src/IA_aarch64Details.C

  Log Message:
  -----------
  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.


  Commit: bf6706ab126853a78f7f3800b1274aa4e3362c49
      https://github.com/dyninst/dyninst/commit/bf6706ab126853a78f7f3800b1274aa4e3362c49
  Author: John Detter <jdetter@xxxxxxxx>
  Date:   2016-07-15 (Fri, 15 Jul 2016)

  Changed paths:
    M common/h/dyn_regs.h
    M common/h/entryIDs.h
    M common/src/arch-x86.C
    M dataflowAPI/src/RegisterMap.C
    M dyninstAPI/src/RegisterConversion-x86.C
    M dyninstAPI/src/codegen-x86.C
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Merge pull request #124 from dyninst/v9.2_patches

V9.2 patches


  Commit: 91be3b474cfd0f29cfe1eb2fb6ce21d9082f0bc5
      https://github.com/dyninst/dyninst/commit/91be3b474cfd0f29cfe1eb2fb6ce21d9082f0bc5
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-18 (Mon, 18 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/SgAsmExpression.h

  Log Message:
  -----------
  set_type() in SgAsmExpression has to be virtual


  Commit: 96c7d97e8e1b32fdb6ae26c46477148de17a4674
      https://github.com/dyninst/dyninst/commit/96c7d97e8e1b32fdb6ae26c46477148de17a4674
  Author: ssunny7 <shahsunny712@xxxxxxxxx>
  Date:   2016-07-21 (Thu, 21 Jul 2016)

  Changed paths:
    M common/src/dyn_regs.C
    A dataflowAPI/rose/ExtentMap.C
    A dataflowAPI/rose/ExtentMap.h
    A dataflowAPI/rose/RegisterDescriptor.h
    A dataflowAPI/rose/SgAsmArmv8Instruction.h
    M dataflowAPI/rose/SgAsmExpression.h
    M dataflowAPI/rose/SgAsmInstruction.h
    M dataflowAPI/rose/SgAsmOperandList.h
    M dataflowAPI/rose/SgAsmType.h
    M dataflowAPI/rose/SgAsmx86Instruction.h
    M dataflowAPI/rose/SgNode.h
    M dataflowAPI/rose/conversions.h
    M dataflowAPI/rose/integerOps.h
    A dataflowAPI/rose/rangemap.C
    A dataflowAPI/rose/rangemap.h
    A dataflowAPI/rose/semantics/BaseSemantics2.C
    A dataflowAPI/rose/semantics/BaseSemantics2.h
    A dataflowAPI/rose/semantics/BinarySymbolicExpr.C
    A dataflowAPI/rose/semantics/BinarySymbolicExpr.h
    A dataflowAPI/rose/semantics/ByteOrder.C
    A dataflowAPI/rose/semantics/ByteOrder.h
    A dataflowAPI/rose/semantics/ConcreteSemantics2.C
    A dataflowAPI/rose/semantics/ConcreteSemantics2.h
    A dataflowAPI/rose/semantics/DispatcherARM64.C
    A dataflowAPI/rose/semantics/DispatcherARM64.h
    A dataflowAPI/rose/semantics/MemoryMap.C
    A dataflowAPI/rose/semantics/MemoryMap.h
    A dataflowAPI/rose/semantics/RegisterParts.C
    A dataflowAPI/rose/semantics/RegisterParts.h
    A dataflowAPI/rose/semantics/RegisterStateGeneric.C
    A dataflowAPI/rose/semantics/RegisterStateGeneric.h
    A dataflowAPI/rose/semantics/Registers.C
    A dataflowAPI/rose/semantics/Registers.h
    A dataflowAPI/rose/semantics/SMTSolver.C
    A dataflowAPI/rose/semantics/SMTSolver.h
    A dataflowAPI/rose/semantics/SymEvalSemantics.C
    A dataflowAPI/rose/semantics/SymEvalSemantics.h
    A dataflowAPI/rose/util/Access.h
    A dataflowAPI/rose/util/AddressMap.h
    A dataflowAPI/rose/util/AddressSegment.h
    A dataflowAPI/rose/util/AllocatingBuffer.h
    A dataflowAPI/rose/util/Assert.C
    A dataflowAPI/rose/util/Assert.h
    A dataflowAPI/rose/util/Attribute.C
    A dataflowAPI/rose/util/Attribute.h
    A dataflowAPI/rose/util/BiMap.h
    A dataflowAPI/rose/util/BitVector.h
    A dataflowAPI/rose/util/BitVectorSupport.h
    A dataflowAPI/rose/util/Buffer.h
    A dataflowAPI/rose/util/Callbacks.h
    A dataflowAPI/rose/util/Combinatorics.C
    A dataflowAPI/rose/util/Combinatorics.h
    A dataflowAPI/rose/util/Exception.h
    A dataflowAPI/rose/util/FileSystem.C
    A dataflowAPI/rose/util/FileSystem.h
    A dataflowAPI/rose/util/FormatRestorer.h
    A dataflowAPI/rose/util/Interval.h
    A dataflowAPI/rose/util/IntervalMap.h
    A dataflowAPI/rose/util/IntervalSet.h
    A dataflowAPI/rose/util/IntervalSetMap.h
    A dataflowAPI/rose/util/LinearCongruentialGenerator.C
    A dataflowAPI/rose/util/LinearCongruentialGenerator.h
    A dataflowAPI/rose/util/Map.h
    A dataflowAPI/rose/util/MappedBuffer.h
    A dataflowAPI/rose/util/Message.C
    A dataflowAPI/rose/util/Message.h
    A dataflowAPI/rose/util/NullBuffer.h
    A dataflowAPI/rose/util/Optional.h
    A dataflowAPI/rose/util/PoolAllocator.h
    A dataflowAPI/rose/util/Sawyer.C
    A dataflowAPI/rose/util/Sawyer.h
    A dataflowAPI/rose/util/Set.h
    A dataflowAPI/rose/util/SharedPointer.h
    A dataflowAPI/rose/util/SmallObject.C
    A dataflowAPI/rose/util/SmallObject.h
    A dataflowAPI/rose/util/StaticBuffer.h
    A dataflowAPI/rose/util/Stopwatch.C
    A dataflowAPI/rose/util/Stopwatch.h
    A dataflowAPI/rose/util/StringUtility.C
    A dataflowAPI/rose/util/StringUtility.h
    A dataflowAPI/rose/util/Synchronization.C
    A dataflowAPI/rose/util/Synchronization.h
    A dataflowAPI/rose/util/WarningsOff.h
    A dataflowAPI/rose/util/WarningsRestore.h
    A dataflowAPI/rose/util/rose_getline.C
    A dataflowAPI/rose/util/rose_getline.h
    A dataflowAPI/rose/util/rose_strtoull.C
    A dataflowAPI/rose/util/rose_strtoull.h
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/RoseImpl.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/RoseInsnFactory.h
    M dataflowAPI/src/SymEval.C
    M dataflowAPI/src/SymbolicExpansion.C
    M dataflowAPI/src/SymbolicExpansion.h
    M dataflowAPI/src/convertOpcodes.C
    A external/rose/armv8InstructionEnum.h
    M external/rose/rose-compat.h
    A external/rose/rose_msvc.h
    A external/variantComparer.py
    M parseAPI/CMakeLists.txt
    M parseAPI/src/IA_aarch64Details.C

  Log Message:
  -----------
  Merge pull request #127 from dyninst/arm64/feature/semantics_setup

Merge arm64/feature/semantics_setup into master


  Commit: 435f147b180978f52fbd8c0ef2d5b681249ed194
      https://github.com/dyninst/dyninst/commit/435f147b180978f52fbd8c0ef2d5b681249ed194
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-22 (Fri, 22 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/SymEvalSemantics.C

  Log Message:
  -----------
  The include "libtasn1.h" was wrongly added and shouldn't be there, removed it with this commit


  Commit: ad9fb33a42d23725d5e5e4ca3de73a2c26fbe033
      https://github.com/dyninst/dyninst/commit/ad9fb33a42d23725d5e5e4ca3de73a2c26fbe033
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-07-22 (Fri, 22 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/rangemap.C

  Log Message:
  -----------
  Fix std::isnan compile error

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


  Commit: aadc64551ed919e1093e86c38cb86e938470a1a1
      https://github.com/dyninst/dyninst/commit/aadc64551ed919e1093e86c38cb86e938470a1a1
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-07-22 (Fri, 22 Jul 2016)

  Changed paths:
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  only suppress warnings for rose

Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx>


  Commit: 8d5a53c9fd84600bdf1d291e2a182b29bbe9d109
      https://github.com/dyninst/dyninst/commit/8d5a53c9fd84600bdf1d291e2a182b29bbe9d109
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-07-22 (Fri, 22 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/util/LinearCongruentialGenerator.C
    M dataflowAPI/rose/util/StringUtility.C
    M dataflowAPI/rose/util/StringUtility.h
    M external/inttypes-win.h
    M external/stdint-win.h
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  make Rose build on windows


  Commit: 36bd1735cb8ce79eaaa1be477cf6ae72cdb2b1ef
      https://github.com/dyninst/dyninst/commit/36bd1735cb8ce79eaaa1be477cf6ae72cdb2b1ef
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-07-26 (Tue, 26 Jul 2016)

  Changed paths:
    M parseAPI/src/IA_x86.C

  Log Message:
  -----------
  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.


  Commit: 0cc6c461c706a50b2c0277fb828470dbbe3ae304
      https://github.com/dyninst/dyninst/commit/0cc6c461c706a50b2c0277fb828470dbbe3ae304
  Author: ssunny7 <shahsunny712@xxxxxxxxx>
  Date:   2016-07-26 (Tue, 26 Jul 2016)

  Changed paths:
    M dataflowAPI/rose/rangemap.C
    M dataflowAPI/rose/util/LinearCongruentialGenerator.C
    M dataflowAPI/rose/util/StringUtility.C
    M dataflowAPI/rose/util/StringUtility.h
    M external/inttypes-win.h
    M external/stdint-win.h
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  Merge pull request #129 from pefoley2/rose_fixes

Rose build fixes


  Commit: 895d3fad7e59dc2096d8c74111a0606ee0b70a44
      https://github.com/dyninst/dyninst/commit/895d3fad7e59dc2096d8c74111a0606ee0b70a44
  Author: Josh Stone <jistone@xxxxxxxxxx>
  Date:   2016-07-26 (Tue, 26 Jul 2016)

  Changed paths:
    M dataflowAPI/h/stackanalysis.h

  Log Message:
  -----------
  dataflowAPI: space out template '>>' for pre-C++11 compatibility


  Commit: 8f85a86caa63d595cddf9a4cc4d8e2695b983bdc
      https://github.com/dyninst/dyninst/commit/8f85a86caa63d595cddf9a4cc4d8e2695b983bdc
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-07-28 (Thu, 28 Jul 2016)

  Changed paths:
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.C
    M dyninstAPI/src/parse-cfg.C
    M dyninstAPI/src/parse-cfg.h

  Log Message:
  -----------
  Indirect tail calls can be PC-relative and should be treated as indirect calls during relocation


  Commit: f755baceaeadb84fd1ca3b03a6713720f01a6d3e
      https://github.com/dyninst/dyninst/commit/f755baceaeadb84fd1ca3b03a6713720f01a6d3e
  Author: John Detter <jdetter@xxxxxxxx>
  Date:   2016-07-29 (Fri, 29 Jul 2016)

  Changed paths:
    M dataflowAPI/src/stackanalysis.C

  Log Message:
  -----------
  Matt's patch applied


  Commit: 8867457bd2b5d2f6b0f71ebf36a9cf5fcd741e6e
      https://github.com/dyninst/dyninst/commit/8867457bd2b5d2f6b0f71ebf36a9cf5fcd741e6e
  Author: Bill Williams <wwilliam47@xxxxxxxxx>
  Date:   2016-07-29 (Fri, 29 Jul 2016)

  Changed paths:
    M dataflowAPI/src/stackanalysis.C

  Log Message:
  -----------
  Merge pull request #134 from dyninst/release9.2/fixes/test_stack_1_assert

Matt's patch applied -- fixes test_stack_1 issue


  Commit: db47d0f19f40379235ba1247eb66fbbe6108fffa
      https://github.com/dyninst/dyninst/commit/db47d0f19f40379235ba1247eb66fbbe6108fffa
  Author: John Detter <jdetter@xxxxxxxx>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M dataflowAPI/src/liveness.C

  Log Message:
  -----------
  Added asserts in liveness.C to prevent buffer underreads for
	registers that aren't defined. Partial fix for #114


  Commit: 4131cc518568ba7921428d801aa7e15876b1e03e
      https://github.com/dyninst/dyninst/commit/4131cc518568ba7921428d801aa7e15876b1e03e
  Author: Josh Stone <cuviper@xxxxxxxxx>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M dataflowAPI/src/liveness.C

  Log Message:
  -----------
  Merge pull request #141 from dyninst/release9.2/fixes/liveness-asserts

Added asserts in liveness.C to prevent buffer underreads for


  Commit: b8596ad4023ec40ac07e669ff8ea3ec06e262703
      https://github.com/dyninst/dyninst/commit/b8596ad4023ec40ac07e669ff8ea3ec06e262703
  Author: Josh Stone <jistone@xxxxxxxxxx>
  Date:   2016-08-09 (Tue, 09 Aug 2016)

  Changed paths:
    M proccontrol/src/linux.C

  Log Message:
  -----------
  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.


  Commit: 7a1ddac0fe5597ee8f84adef99e41c2eb1ceb0bd
      https://github.com/dyninst/dyninst/commit/7a1ddac0fe5597ee8f84adef99e41c2eb1ceb0bd
  Author: Josh Stone <jistone@xxxxxxxxxx>
  Date:   2016-08-09 (Tue, 09 Aug 2016)

  Changed paths:
    M proccontrol/src/loadLibrary/codegen.C

  Log Message:
  -----------
  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()`.


  Commit: 0d1e168a5d30fed2c00d1dfbe7c82fa111cd9480
      https://github.com/dyninst/dyninst/commit/0d1e168a5d30fed2c00d1dfbe7c82fa111cd9480
  Author: Josh Stone <cuviper@xxxxxxxxx>
  Date:   2016-08-09 (Tue, 09 Aug 2016)

  Changed paths:
    M proccontrol/src/linux.C
    M proccontrol/src/loadLibrary/codegen.C

  Log Message:
  -----------
  Merge pull request #148 from cuviper/attach-no-exe-master

proccontrol: fix process attachment without an exe


  Commit: a0e5bda2d225bc5a0f3da01d1a4a2e9efe975518
      https://github.com/dyninst/dyninst/commit/a0e5bda2d225bc5a0f3da01d1a4a2e9efe975518
  Author: Bill Williams <wwilliam47@xxxxxxxxx>
  Date:   2016-08-12 (Fri, 12 Aug 2016)

  Changed paths:
    M dataflowAPI/src/stackanalysis.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/image.h

  Log Message:
  -----------
  Merge pull request #143 from dyninst/release9.2/fixes/test_pt_ls

Fixes for test_pt_ls


  Commit: 5dbfd782233d0e8d5f7d0dd7dc6466d0d2f5e5b2
      https://github.com/dyninst/dyninst/commit/5dbfd782233d0e8d5f7d0dd7dc6466d0d2f5e5b2
  Author: Matt Morehouse <mm@xxxxxxxxxxx>
  Date:   2016-08-12 (Fri, 12 Aug 2016)

  Changed paths:
    M dataflowAPI/h/stackanalysis.h
    M dataflowAPI/src/stackanalysis.C

  Log Message:
  -----------
  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.


  Commit: 3da53fcc59e5c74570d4c6d34f62a02e047c0423
      https://github.com/dyninst/dyninst/commit/3da53fcc59e5c74570d4c6d34f62a02e047c0423
  Author: Matt Morehouse <mm@xxxxxxxxxxx>
  Date:   2016-08-12 (Fri, 12 Aug 2016)

  Changed paths:
    M dataflowAPI/src/ABI.C

  Log Message:
  -----------
  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.


  Commit: 2e8bc43db402435281454adbc64c2010a134d13e
      https://github.com/dyninst/dyninst/commit/2e8bc43db402435281454adbc64c2010a134d13e
  Author: Matt Morehouse <mm@xxxxxxxxxxx>
  Date:   2016-08-12 (Fri, 12 Aug 2016)

  Changed paths:
    M dataflowAPI/src/stackanalysis.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C

  Log Message:
  -----------
  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.


  Commit: 67be8fd70b52a225849abd931fece7ec895fe899
      https://github.com/dyninst/dyninst/commit/67be8fd70b52a225849abd931fece7ec895fe899
  Author: Matt Morehouse <mm@xxxxxxxxxxx>
  Date:   2016-08-12 (Fri, 12 Aug 2016)

  Changed paths:
    M dataflowAPI/src/stackanalysis.C

  Log Message:
  -----------
  Assume XMM registers contain floating-point values.


  Commit: 94403872a1707d4b605018afcf59d36f7a4fee2f
      https://github.com/dyninst/dyninst/commit/94403872a1707d4b605018afcf59d36f7a4fee2f
  Author: Matt Morehouse <mm@xxxxxxxxxxx>
  Date:   2016-08-17 (Wed, 17 Aug 2016)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Remove unnecessary assert from dwarfWalker.  Fixes #152.


  Commit: 3112f62de3b9f9fa29f1230a111f5b3c113fdd2f
      https://github.com/dyninst/dyninst/commit/3112f62de3b9f9fa29f1230a111f5b3c113fdd2f
  Author: morehouse <mm@xxxxxxxxxxx>
  Date:   2016-08-17 (Wed, 17 Aug 2016)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Merge pull request #154 from dyninst/release9.2/fixes/dwarfwalker_assert

Remove unnecessary assert from dwarfWalker.  Fixes #152.


  Commit: dff30ae88e36c16cc646941bc5bd029cd4320d43
      https://github.com/dyninst/dyninst/commit/dff30ae88e36c16cc646941bc5bd029cd4320d43
  Author: Matt Morehouse <mm@xxxxxxxxxxx>
  Date:   2016-08-17 (Wed, 17 Aug 2016)

  Changed paths:
    M dataflowAPI/h/stackanalysis.h
    M dataflowAPI/src/stackanalysis.C
    M dyninstAPI/h/BPatch_function.h
    M dyninstAPI/h/BPatch_object.h
    M dyninstAPI/src/BPatch_object.C
    M dyninstAPI/src/function.C

  Log Message:
  -----------
  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.


  Commit: f25e8f715710c761b926261ff93a0ad9b4b91015
      https://github.com/dyninst/dyninst/commit/f25e8f715710c761b926261ff93a0ad9b4b91015
  Author: Matt Morehouse <mm@xxxxxxxxxxx>
  Date:   2016-08-17 (Wed, 17 Aug 2016)

  Changed paths:
    M dyninstAPI/src/BPatch_function.C

  Log Message:
  -----------
  Allow BPatch_function::findPoint on uninstrumentable functions.

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


  Commit: 04f59aced5c09888a90439a3b2b80c6eb0f69f1a
      https://github.com/dyninst/dyninst/commit/04f59aced5c09888a90439a3b2b80c6eb0f69f1a
  Author: morehouse <mm@xxxxxxxxxxx>
  Date:   2016-08-18 (Thu, 18 Aug 2016)

  Changed paths:
    M dataflowAPI/h/stackanalysis.h
    M dataflowAPI/src/stackanalysis.C
    M dyninstAPI/h/BPatch_function.h
    M dyninstAPI/h/BPatch_object.h
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/BPatch_object.C
    M dyninstAPI/src/function.C

  Log Message:
  -----------
  Merge pull request #155 from dyninst/sfm/feature/interproc_analysis

Sfm/feature/interproc analysis


  Commit: dfa440eb1bb9220d6c323fa34bc8f61c25928224
      https://github.com/dyninst/dyninst/commit/dfa440eb1bb9220d6c323fa34bc8f61c25928224
  Author: Josh Stone <jistone@xxxxxxxxxx>
  Date:   2016-08-18 (Thu, 18 Aug 2016)

  Changed paths:
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  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().


  Commit: 21dcf8d8724f8d6f04e4ece9bf27e21f7dcb1b3a
      https://github.com/dyninst/dyninst/commit/21dcf8d8724f8d6f04e4ece9bf27e21f7dcb1b3a
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M dynC_API/src/C.l
    M dynC_API/src/C.y
    M dynC_API/src/dynC.tab.C
    M dynC_API/src/dynC.tab.h
    M dynC_API/src/lex.dynC.C

  Log Message:
  -----------
  regenerate dynC lexer/parser


  Commit: f5c18e7bfe2f7db5c17bc44d09cdaaa30b026674
      https://github.com/dyninst/dyninst/commit/f5c18e7bfe2f7db5c17bc44d09cdaaa30b026674
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M common/src/util.C
    M dataflowAPI/src/stackanalysis.C
    M dwarf/h/dwarfHandle.h
    M dwarf/src/dwarfHandle.C
    M dwarf/src/dwarfResult.C
    M dynC_API/h/snippetGen.h
    M dynC_API/src/dynC.C
    M dyninstAPI/src/BPatch_addressSpace.C
    M dyninstAPI/src/Relocation/Springboard.h
    M dyninstAPI/src/Relocation/Widgets/StackModWidget.h
    M dyninstAPI/src/StackMod/StackAccess.C
    M dyninstAPI/src/StackMod/StackModChecker.C
    M dyninstAPI/src/StackMod/StackModExpr.C
    M dyninstAPI/src/StackMod/StackModExpr.h
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    M dyninstAPI/src/binaryEdit.C
    M dyninstAPI/src/inst-x86.C
    M instructionAPI/src/BinaryFunction.C
    M parseAPI/src/BoundFactCalculator.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/JumpTablePred.C
    M parseAPI/src/util.h
    M parseThat/src/record.C
    M proccontrol/src/loadLibrary/codegen-linux.C
    M stackwalk/src/linux-x86-swk.C
    M symtabAPI/h/Module.h
    M symtabAPI/src/emitElfStatic-x86.C
    M symtabAPI/src/emitElfStatic.h

  Log Message:
  -----------
  Fix warnings


  Commit: efe5e01d77b2710554fc3a488fe72c8ec90c25a0
      https://github.com/dyninst/dyninst/commit/efe5e01d77b2710554fc3a488fe72c8ec90c25a0
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M dataflowAPI/src/SymEvalPolicy.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.C
    M symtabAPI/src/Symtab-lookup.C

  Log Message:
  -----------
  warnings


  Commit: e10d05ff356554f110e9e63b3c848615f374ca78
      https://github.com/dyninst/dyninst/commit/e10d05ff356554f110e9e63b3c848615f374ca78
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-aarch64.h

  Log Message:
  -----------
  fix warnings


  Commit: f88935f8f83a66dcc6d4afa6649c78135e1db387
      https://github.com/dyninst/dyninst/commit/f88935f8f83a66dcc6d4afa6649c78135e1db387
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M dyninstAPI_RT/src/RTheap.c

  Log Message:
  -----------
  remove dead code


  Commit: 1da19c163bdba09dcad22d796bb957c3015c3786
      https://github.com/dyninst/dyninst/commit/1da19c163bdba09dcad22d796bb957c3015c3786
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M dataflowAPI/src/stackanalysis.C
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/IA_aarch64Details.C
    M parseAPI/src/JumpTablePred.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  Fix even more warnings


  Commit: 09b01aa09079339b47b6bbaae8c9dedb682a56f6
      https://github.com/dyninst/dyninst/commit/09b01aa09079339b47b6bbaae8c9dedb682a56f6
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  cleanup DyninstRT cmake configuration


  Commit: db6687b094bf42d71119d425c9305a87fd0218dd
      https://github.com/dyninst/dyninst/commit/db6687b094bf42d71119d425c9305a87fd0218dd
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M instructionAPI/src/InstructionDecoder-aarch64.C

  Log Message:
  -----------
  fix warning


  Commit: f784936cb4ef395e0800283ba66239c151f4741e
      https://github.com/dyninst/dyninst/commit/f784936cb4ef395e0800283ba66239c151f4741e
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  update gitignore


  Commit: 85e111c531176d2d6fb4f79315ee707a7e41b5f8
      https://github.com/dyninst/dyninst/commit/85e111c531176d2d6fb4f79315ee707a7e41b5f8
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    A appveyor.yml

  Log Message:
  -----------
  add appveyor config


  Commit: a1fa7ed0a321d0cc1c60ca322f6346d1d7c0c517
      https://github.com/dyninst/dyninst/commit/a1fa7ed0a321d0cc1c60ca322f6346d1d7c0c517
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M cmake/warnings.cmake

  Log Message:
  -----------
  reduce warning spam from system headers


  Commit: cdbbb60f3a12c103b1ee74775bdb91ea6973752a
      https://github.com/dyninst/dyninst/commit/cdbbb60f3a12c103b1ee74775bdb91ea6973752a
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M dataflowAPI/src/SymEvalPolicy.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.C
    M symtabAPI/src/Symtab-lookup.C

  Log Message:
  -----------
  warnings


  Commit: 525f2a1e5805d9992e71e286355deaeda9154996
      https://github.com/dyninst/dyninst/commit/525f2a1e5805d9992e71e286355deaeda9154996
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M .travis.yml
    A cmake/cotire.cmake
    M cmake/shared.cmake
    M common/CMakeLists.txt
    M dwarf/CMakeLists.txt
    M dynC_API/CMakeLists.txt
    M dyninstAPI/CMakeLists.txt
    M elf/CMakeLists.txt
    M instructionAPI/CMakeLists.txt
    M parseAPI/CMakeLists.txt
    M patchAPI/CMakeLists.txt
    M proccontrol/CMakeLists.txt
    M stackwalk/CMakeLists.txt
    M symlite/CMakeLists.txt
    M symtabAPI/CMakeLists.txt

  Log Message:
  -----------
  cotire


  Commit: 483b36777c45d36df1e22e6af0eb9794d7c4b1b7
      https://github.com/dyninst/dyninst/commit/483b36777c45d36df1e22e6af0eb9794d7c4b1b7
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M common/src/arch-aarch64.C

  Log Message:
  -----------
  namespace aarch64


  Commit: b2e460f33cb2c4f652de4a415d9a0e89511945ed
      https://github.com/dyninst/dyninst/commit/b2e460f33cb2c4f652de4a415d9a0e89511945ed
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M .gitignore
    M cmake/shared.cmake
    M cmake/warnings.cmake
    M common/h/dyntypes.h
    M common/src/addrtranslate-win.C
    M common/src/ntHeaders.h
    M dyninstAPI_RT/src/RTwinnt.c
    M instructionAPI/CMakeLists.txt
    M instructionAPI/src/Instruction.C
    M symtabAPI/src/Object-nt.C
    M symtabAPI/src/Object-nt.h

  Log Message:
  -----------
  cotire vs fixes


  Commit: 9af65abc621a27fb0b6d71919c5436f34039b0a0
      https://github.com/dyninst/dyninst/commit/9af65abc621a27fb0b6d71919c5436f34039b0a0
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M cmake/optimization.cmake

  Log Message:
  -----------
  parallize vc++ builds


  Commit: 1814bd30468f06f85690c5995b7973539d4cb1d2
      https://github.com/dyninst/dyninst/commit/1814bd30468f06f85690c5995b7973539d4cb1d2
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M cmake/shared.cmake

  Log Message:
  -----------
  disable unity builds


  Commit: 161d780756f25e9e81e77e582515c8530cb50960
      https://github.com/dyninst/dyninst/commit/161d780756f25e9e81e77e582515c8530cb50960
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  update gitignore


  Commit: d79954899a48fca66545a9c74b6aadb4ab417e3b
      https://github.com/dyninst/dyninst/commit/d79954899a48fca66545a9c74b6aadb4ab417e3b
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M cmake/shared.cmake

  Log Message:
  -----------
  limit build types


  Commit: f9732271b871fe0a9bc8fcca4e591922356f9038
      https://github.com/dyninst/dyninst/commit/f9732271b871fe0a9bc8fcca4e591922356f9038
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  build DyninstAPI_RT_static too


  Commit: 5582e3b05cfdf0dffb3c5283cd332daa0b454084
      https://github.com/dyninst/dyninst/commit/5582e3b05cfdf0dffb3c5283cd332daa0b454084
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M dyninstAPI_RT/src/RTwinnt.c

  Log Message:
  -----------
  add missing include


  Commit: 93fa7fa9f3a3e48dd26768f10a837be7c1d9f484
      https://github.com/dyninst/dyninst/commit/93fa7fa9f3a3e48dd26768f10a837be7c1d9f484
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    M instructionAPI/h/InstructionAST.h

  Log Message:
  -----------
  keep 4251 disabled


  Commit: 0826a8160f7c0b562ec10b032444e8c858bf99fe
      https://github.com/dyninst/dyninst/commit/0826a8160f7c0b562ec10b032444e8c858bf99fe
  Author: Peter Foley <pefoley2@xxxxxxxxxxx>
  Date:   2016-08-21 (Sun, 21 Aug 2016)

  Changed paths:
    R nmake.config

  Log Message:
  -----------
  remove obsolete nmake config


  Commit: 2d0b0b4f1422e3ef6b1c5b6f2a4d5914dbd787fb
      https://github.com/dyninst/dyninst/commit/2d0b0b4f1422e3ef6b1c5b6f2a4d5914dbd787fb
  Author: Bill Williams <wwilliam47@xxxxxxxxx>
  Date:   2016-08-22 (Mon, 22 Aug 2016)

  Changed paths:
    M CMakeLists.txt
    M common/src/util.C
    M dataflowAPI/src/SymEvalPolicy.C
    M dataflowAPI/src/stackanalysis.C
    M dwarf/h/dwarfHandle.h
    M dwarf/src/dwarfHandle.C
    M dwarf/src/dwarfResult.C
    M dynC_API/h/snippetGen.h
    M dynC_API/src/C.l
    M dynC_API/src/C.y
    M dynC_API/src/dynC.C
    M dynC_API/src/dynC.tab.C
    M dynC_API/src/dynC.tab.h
    M dynC_API/src/lex.dynC.C
    M dyninstAPI/src/BPatch_addressSpace.C
    M dyninstAPI/src/Relocation/Springboard.h
    M dyninstAPI/src/Relocation/Widgets/CFWidget.C
    M dyninstAPI/src/Relocation/Widgets/StackModWidget.h
    M dyninstAPI/src/StackMod/StackAccess.C
    M dyninstAPI/src/StackMod/StackModChecker.C
    M dyninstAPI/src/StackMod/StackModExpr.C
    M dyninstAPI/src/StackMod/StackModExpr.h
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    M dyninstAPI/src/binaryEdit.C
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI_RT/src/RTheap.c
    M instructionAPI/src/BinaryFunction.C
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-aarch64.h
    M parseAPI/src/BoundFactCalculator.h
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/IA_aarch64Details.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/JumpTablePred.C
    M parseAPI/src/JumpTablePred.h
    M parseAPI/src/util.h
    M parseThat/src/record.C
    M proccontrol/src/loadLibrary/codegen-linux.C
    M stackwalk/src/linux-x86-swk.C
    M symtabAPI/h/Module.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/dwarfWalker.h
    M symtabAPI/src/emitElfStatic-x86.C
    M symtabAPI/src/emitElfStatic.h

  Log Message:
  -----------
  Merge pull request #14 from pefoley2/clang_warn

Fix warnings produced when compiling with clang


  Commit: 5eaf32129fe4714b85a06527c011c7bb34bde758
      https://github.com/dyninst/dyninst/commit/5eaf32129fe4714b85a06527c011c7bb34bde758
  Author: Bill Williams <wwilliam47@xxxxxxxxx>
  Date:   2016-08-22 (Mon, 22 Aug 2016)

  Changed paths:
    M .gitignore
    M .travis.yml
    M CMakeLists.txt
    A appveyor.yml
    A cmake/cotire.cmake
    M cmake/optimization.cmake
    M cmake/shared.cmake
    M cmake/warnings.cmake
    M common/CMakeLists.txt
    M common/h/dyntypes.h
    M common/src/addrtranslate-win.C
    M common/src/arch-aarch64.C
    M common/src/ntHeaders.h
    M dwarf/CMakeLists.txt
    M dynC_API/CMakeLists.txt
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI_RT/src/RTwinnt.c
    M elf/CMakeLists.txt
    M instructionAPI/CMakeLists.txt
    M instructionAPI/h/InstructionAST.h
    M instructionAPI/src/Instruction.C
    R nmake.config
    M parseAPI/CMakeLists.txt
    M patchAPI/CMakeLists.txt
    M proccontrol/CMakeLists.txt
    M stackwalk/CMakeLists.txt
    M symlite/CMakeLists.txt
    M symtabAPI/CMakeLists.txt
    M symtabAPI/src/Object-nt.C
    M symtabAPI/src/Object-nt.h

  Log Message:
  -----------
  Merge pull request #19 from pefoley2/appveyor

Add config to build using Appveyor


  Commit: 7c90ebb86f374ae8c5def914136d5cba9a00f2b4
      https://github.com/dyninst/dyninst/commit/7c90ebb86f374ae8c5def914136d5cba9a00f2b4
  Author: John Detter <jdetter@xxxxxxxx>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  Added generated cotire directories to gitignore


  Commit: 4f0b296de92835aa9ab96a94fa978e335e284fd8
      https://github.com/dyninst/dyninst/commit/4f0b296de92835aa9ab96a94fa978e335e284fd8
  Author: Bill Williams <wwilliam47@xxxxxxxxx>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  Merge pull request #159 from dyninst/release9.2/fixes/cotire-gitignore

Added generated cotire directories to gitignore


  Commit: a032945f8f2b090ca63a5984123797695b916151
      https://github.com/dyninst/dyninst/commit/a032945f8f2b090ca63a5984123797695b916151
  Author: Josh Stone <jistone@xxxxxxxxxx>
  Date:   2016-08-26 (Fri, 26 Aug 2016)

  Changed paths:
    M instructionAPI/src/Operand.C

  Log Message:
  -----------
  instructionAPI: use uintmax_t when formatting addresses


Compare: https://github.com/dyninst/dyninst/compare/7bcafa0643b1...a032945f8f2b
[← Prev in Thread] Current Thread [Next in Thread→]