[DynInst_API:] [dyninst/dyninst] 4e4f31: Merge branch 'master' of https://github.com/dynins...


Date: Fri, 08 Jul 2016 14:30:38 -0700
From: Sunny Shah <shah28@xxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 4e4f31: Merge branch 'master' of https://github.com/dynins...
  Branch: refs/heads/arm64/feature/semantics_setup
  Home:   https://github.com/dyninst/dyninst
  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.


Compare: https://github.com/dyninst/dyninst/compare/4e4f312fd963^...a8a83dac4d31
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 4e4f31: Merge branch 'master' of https://github.com/dynins..., Sunny Shah <=