[DynInst_API:] [dyninst/dyninst] d087ef: Fix register conversion between Dyninst and ROSE


Date: Fri, 02 Dec 2016 13:37:58 -0800
From: Bill Williams <wwilliam47@xxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] d087ef: Fix register conversion between Dyninst and ROSE
  Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: d087ef0ac96c21eaca191c744d220080c2b58840
      https://github.com/dyninst/dyninst/commit/d087ef0ac96c21eaca191c744d220080c2b58840
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-07-21 (Thu, 21 Jul 2016)

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

  Log Message:
  -----------
  Fix register conversion between Dyninst and ROSE
* The conversion of a Dyninst register to ROSE was using the full integer value in MachRegister, whereas only the lower 16 bits have to be used.
* convert() in SymEvalSemantics now takes in a RegisterDescriptor as argument to support all register categories other than SIMD/FPR.

Also fixed a few small bugs in the Dispatcher class for ARM.


  Commit: 3ac05a7597024895d504adcc2c74ec75d873f02a
      https://github.com/dyninst/dyninst/commit/3ac05a7597024895d504adcc2c74ec75d873f02a
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-09-09 (Fri, 09 Sep 2016)

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

  Log Message:
  -----------
  Added semantics for the following instructions:

* Immediate and register variants of LDR, LDRB, LDRH, LDRSB, LDRSH, LDRSW, STR, STRB, STRH
* Literal variants of LDR and LDRSW

The signatures of readMemory() and writeMemory() in SymEvalSemantics::StateARM64 and SymEvalSemantics::MemoryStateARM64 are modified to be able to pass in the read and write sizes.


  Commit: 31e138a3eef66fe7992236deacc5504b9d7851d0
      https://github.com/dyninst/dyninst/commit/31e138a3eef66fe7992236deacc5504b9d7851d0
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-09-12 (Mon, 12 Sep 2016)

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

  Log Message:
  -----------
  Minor fixes for ARM64 semantics

* Fixed order of arguments in initialization of a boolean SValue in SymEvalSemantics
* Dispatcher::read() in BaseSemantics now does not assert if the input expression is an SgAsmBinaryLsl


  Commit: acaf57bd1dd9431d7d9c4cc6ac5ff549010f5e6b
      https://github.com/dyninst/dyninst/commit/acaf57bd1dd9431d7d9c4cc6ac5ff549010f5e6b
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-09-12 (Mon, 12 Sep 2016)

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

  Log Message:
  -----------
  Effective address calculation and load/store instruction semantics fixes.

The 'address' variable in the semantics for load/store instructions should not directly call Dispatcher::read(), but should only store the address of the target location in memory. The semantics have been updated to reflect this. A new method - DispatcherARM64::effectiveAddress() - is added which is called in the above scenario.

In addition, the pre-fix part of the address calculation doesn't have to be performed again in dataflow API since the required information is already encoded in the AST by instruction API.


  Commit: 5bc0beb79a4aece49ab4f94e4851cbf7902fe01c
      https://github.com/dyninst/dyninst/commit/5bc0beb79a4aece49ab4f94e4851cbf7902fe01c
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-09-14 (Wed, 14 Sep 2016)

  Changed paths:
    M common/src/dyn_regs.C

  Log Message:
  -----------
  When determining the ROSE register category for ARM registers, comparisions of the MachRegisters with 'baseID' should only use the MachRegister's lowermost 16 bits.


  Commit: 49e7cd96b6ba4e6db7607156cf6f126c2492021c
      https://github.com/dyninst/dyninst/commit/49e7cd96b6ba4e6db7607156cf6f126c2492021c
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-09-18 (Sun, 18 Sep 2016)

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

  Log Message:
  -----------
  The argument to SymEvalSemantics::addWithCarries for unsign-extending
the second addend should be the second operand from the instruction AST.

The bug here was that the first operand from the AST was being passed
for the unsign-extend operation. This caused the semantic expression and
hence the resulting assignment expansion for the instructions calling
this function to be incorrect.


  Commit: ae8875e306a2c2ad77d2ea9b4b9c41e1770c8d74
      https://github.com/dyninst/dyninst/commit/ae8875e306a2c2ad77d2ea9b4b9c41e1770c8d74
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-09-23 (Fri, 23 Sep 2016)

  Changed paths:
    M common/h/dyn_regs.h
    M common/src/dyn_regs.C
    M dataflowAPI/rose/semantics/Registers.C
    M external/rose/armv8InstructionEnum.h

  Log Message:
  -----------
  Register definitions for treating the 4 ARM64 flags separately

As with dataflow analysis on other architectures, each flag should be treated as a distinct unit. Following changes, made as part of this commit, achieve this:
- n, z, c and v have been added as individual register definitions in dyn_regs with their baseIDs indicating their positions in the pstate register. The conversions from Dyninst to ROSE registers for these new additions are also defined.
- The 'nzcv' enum value in ARMv8PstateFields (for use in ARM semantics) is split into 4 different values, one for each flag. Each of these is also added to the register dictionary for ARMv8 in Registers.C.


  Commit: a43a70ed9d1e0dc97fe17a76015af76522a86ef8
      https://github.com/dyninst/dyninst/commit/a43a70ed9d1e0dc97fe17a76015af76522a86ef8
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-09-26 (Mon, 26 Sep 2016)

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

  Log Message:
  -----------
  Modify DispatcherARM64 methods accessing flags to read/write them
individually from/to the respective registers. This includes changes to
the method signatures where required.


  Commit: 237d17d7cb4aded05e879ae42fb7d50efa919846
      https://github.com/dyninst/dyninst/commit/237d17d7cb4aded05e879ae42fb7d50efa919846
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

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

  Log Message:
  -----------
  Updated semantics to use register descriptor REG_N, REG_Z, REG_C, REG_V
for the flags instead of REG_NZCV.


  Commit: 3a15c6fdde4fe71414f74df0109dfc90cc5a4191
      https://github.com/dyninst/dyninst/commit/3a15c6fdde4fe71414f74df0109dfc90cc5a4191
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-09-28 (Wed, 28 Sep 2016)

  Changed paths:
    M common/h/dyn_regs.h
    M common/src/dyn_regs.C
    M dataflowAPI/src/slicing.C
    M parseAPI/src/BoundFactCalculator.C

  Log Message:
  -----------
  1. Create an architecture independent interface to get the zero flag register and use it in jump table analysis
2. Change slicing code to use architecture independent interface to get program counter


  Commit: a269cee660426cb533a7fde57a7b16b8ad3a17de
      https://github.com/dyninst/dyninst/commit/a269cee660426cb533a7fde57a7b16b8ad3a17de
  Author: Sunny Shah <shahsunny712@xxxxxxxxx>
  Date:   2016-09-28 (Wed, 28 Sep 2016)

  Changed paths:
    M dataflowAPI/src/ExpressionConversionVisitor.C

  Log Message:
  -----------
  Ignore the PSTATE register when converting an instruction to ROSE's format


  Commit: 010df64b2c9c1ff6647924bb5cc477ce559255d1
      https://github.com/dyninst/dyninst/commit/010df64b2c9c1ff6647924bb5cc477ce559255d1
  Author: Sunny Shah <shahsunny712@xxxxxxxxx>
  Date:   2016-10-03 (Mon, 03 Oct 2016)

  Changed paths:
    M dataflowAPI/src/AbslocInterface.C

  Log Message:
  -----------
  When converting read/written registers to assignments for an instruction, replace all references to PSTATE with N, Z, C and V for ARM64.


  Commit: 3a8715b225efa4d2d9d685cd52ed4385d7817320
      https://github.com/dyninst/dyninst/commit/3a8715b225efa4d2d9d685cd52ed4385d7817320
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-10-04 (Tue, 04 Oct 2016)

  Changed paths:
    M common/h/dyn_regs.h
    M common/src/dyn_regs.C
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/JumpTablePred.C

  Log Message:
  -----------
  1. Add an architecture-independent interface to check whether a register represents a flag
2. In jump table analysis, perform shift-left operations if both operands are constant and use architecture-independent interface


  Commit: 16295d10b920f6c73f1f574e2971eb20bdbb314a
      https://github.com/dyninst/dyninst/commit/16295d10b920f6c73f1f574e2971eb20bdbb314a
  Author: Sunny Shah <shahsunny712@xxxxxxxxx>
  Date:   2016-10-04 (Tue, 04 Oct 2016)

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

  Log Message:
  -----------
  The mask used when modifying a certain range of bits of a value was clearing out the bits that didn't need to be modified and perserving those that needed to be. Fixed to use the invert of this as the actual mask.
Additionally, the 'imm' and 'bit_pos' variables correspond to the second, and not the first, operand in the operand list.


  Commit: fc0c0bb1209a2675c1f58d91323c2eef108387a5
      https://github.com/dyninst/dyninst/commit/fc0c0bb1209a2675c1f58d91323c2eef108387a5
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-10-04 (Tue, 04 Oct 2016)

  Changed paths:
    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/InstructionSource-aarch64.C
    M parseAPI/src/JumpTablePred.C

  Log Message:
  -----------
  1. Jump table contents can be first multiplied and then added to a jump base.
2. On ARMV8, the PC value is pre-instruction, while the PC value is post-instruction on x86/x64


  Commit: e255d6e0c395f07c48b0d40d419c6432bbb2919b
      https://github.com/dyninst/dyninst/commit/e255d6e0c395f07c48b0d40d419c6432bbb2919b
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-10-06 (Thu, 06 Oct 2016)

  Changed paths:
    M common/src/dyn_regs.C
    M dataflowAPI/rose/semantics/Registers.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.C
    M external/rose/armv8InstructionEnum.h

  Log Message:
  -----------
  Added ability to convert the ARM64 SIMD/FP registers between ROSE(semantics) and Dyninst.
- getROSERegister() supports computing the different values of a
RegisterDescriptor for ARM64 SIMD/FP registers
- RegisterDescriptors for all accessible parts of a SIMD/FP register
(8-bit, 16-bit, 32-bit, upper and lower 64-bit and 128-bit) are added to
the RegisterDictionary for ARM64 in ROSE semantics
- SymEvalSemantics now converts from SIMD/FP registers to
Dyninst::MachRegisters.


  Commit: 94beeb565c3967a14be8e3d87254b986c0a107d2
      https://github.com/dyninst/dyninst/commit/94beeb565c3967a14be8e3d87254b986c0a107d2
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-10-06 (Thu, 06 Oct 2016)

  Changed paths:
    M common/src/dyn_regs.C

  Log Message:
  -----------
  Bug fix for setting major and minor numbers of the ZR register when
converting from Dyninst to ROSE's representation.

The category of ZR/WZR in Dyninst is SPR and not GPR -- this fix moves
the major and minor number setting block to the appropriate case
statement.


  Commit: 9dca8456b22c71e7a8f791c1f780cacbc220f6fd
      https://github.com/dyninst/dyninst/commit/9dca8456b22c71e7a8f791c1f780cacbc220f6fd
  Author: Sunny Shah <shahsunny712@xxxxxxxxx>
  Date:   2016-10-06 (Thu, 06 Oct 2016)

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

  Log Message:
  -----------
  Semantics for FMOV

Added semantics manaully for FMOV. Floating point operations ar enot yet supported; however, the variant of FMOV we are seeing in jump tables does nothing but move a value from a FP register to a general purpose register. To allow the analysis to continue, the semantics for this instruction are thus manually added for now.


  Commit: 9cc7caf1f421b1a8b44ba4d148844d0f3a0246c4
      https://github.com/dyninst/dyninst/commit/9cc7caf1f421b1a8b44ba4d148844d0f3a0246c4
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-10-06 (Thu, 06 Oct 2016)

  Changed paths:
    M common/src/dyn_regs.C
    M dataflowAPI/rose/semantics/DispatcherARM64.C
    M dataflowAPI/rose/semantics/Registers.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.C
    M external/rose/armv8InstructionEnum.h

  Log Message:
  -----------
  Merge branch 'arm64/feature/semantics' of /home/ssunny/dyninst/dyninst-code into upstream/arm64/feature/semantics


  Commit: 1a2e3427d8037e04861abd279a3958d279fc534f
      https://github.com/dyninst/dyninst/commit/1a2e3427d8037e04861abd279a3958d279fc534f
  Author: Sunny Shah <shahsunny712@xxxxxxxxx>
  Date:   2016-10-11 (Tue, 11 Oct 2016)

  Changed paths:
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/RoseImpl.C

  Log Message:
  -----------
  Bug fixes for converting Dyninst Instruction API objects to ROSE SgAsmInstruction objects for ARM64.

* RoseImpl.C: Fixed a bug that caused a stackoverflow when retrieving the SgAsmType of a SgAsmBinaryExpression
* ExpressionConversionVisitor.C: Fixed a typo (there was a && instead of &) that caused all registers to fall through to the call to getROSERegister (this should not be happening when the register is PSTATE)


  Commit: d4db8481e24a65455f0d6e62fbb4bfa7ea591776
      https://github.com/dyninst/dyninst/commit/d4db8481e24a65455f0d6e62fbb4bfa7ea591776
  Author: Sunny Shah <shahsunny712@xxxxxxxxx>
  Date:   2016-10-11 (Tue, 11 Oct 2016)

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

  Log Message:
  -----------
  Modified implementation of DispatcherARM64::ConditionHolds()

The previous implementation did not make use of the fact the condition value in the expression can be retrieved as a raw integer value and does not have to be treated as a SValuePtr. Treating as an integer greatly simplifies assignment expression for all flags and also makes the code more readable.


  Commit: 3b09cd609324056777095b51e8bb1ebe9e80858b
      https://github.com/dyninst/dyninst/commit/3b09cd609324056777095b51e8bb1ebe9e80858b
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-10-11 (Tue, 11 Oct 2016)

  Changed paths:
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/JumpTablePred.C

  Log Message:
  -----------
  1. Should delete alias AST when a part of it is assigned a new value.
2. Change Arch_x86 and Arch_x86_64 checking to use address width


  Commit: 3c8edd88e8567d8562f76ceb7345dbefb17f6e89
      https://github.com/dyninst/dyninst/commit/3c8edd88e8567d8562f76ceb7345dbefb17f6e89
  Author: Sunny Shah <shahsunny712@xxxxxxxxx>
  Date:   2016-10-11 (Tue, 11 Oct 2016)

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

  Log Message:
  -----------
  Fixed typo that caused low bit to be gretaer than the high bit when extracting a value from an integer in DispatcherARM64::getRegSize()


  Commit: 84e671b838fb335661b53832195f7d59cbd4383c
      https://github.com/dyninst/dyninst/commit/84e671b838fb335661b53832195f7d59cbd4383c
  Author: Sunny Shah <shahsunny712@xxxxxxxxx>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

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

  Log Message:
  -----------
  Semantics for UBFM and SBFM variants

This commit introduces semantics for the 5 UBFM variants (UXTB, UXTH, UBFM, UBFIZ, UBFX) and SBFM variants (SXTB, SXTH, SBFM, SBFIZ, SBFX), and a couple functions in the DispatcherARM64 class used by these semantics. Implementation of one of these functions needs to be updated (next commit) and UXTB's semantics are modified to proceed with jump table analysis for now; the original semantics are still present as comments and will be restored in a future commit.


  Commit: 71de69136ad559954845ed70c5c8792ded00e373
      https://github.com/dyninst/dyninst/commit/71de69136ad559954845ed70c5c8792ded00e373
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-10-31 (Mon, 31 Oct 2016)

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

  Log Message:
  -----------
  Added a method to get the target SgAsmExpression when executing
write-back for load/store instructions


  Commit: 23421044f0c6a9fbf594747dc18489ecaa656e22
      https://github.com/dyninst/dyninst/commit/23421044f0c6a9fbf594747dc18489ecaa656e22
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-10-31 (Mon, 31 Oct 2016)

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

  Log Message:
  -----------
  Semantics for MOVZ, MOVK, MOVN and the MOV variants of MOVZ and MOVN

Also added enum (MoveWideOp) used in these semantics to determine the
type of move


  Commit: ee4bcb2c32ca7a1510b3da9e6b85feb74fc8800a
      https://github.com/dyninst/dyninst/commit/ee4bcb2c32ca7a1510b3da9e6b85feb74fc8800a
  Author: Sunny Shah <shahsunny712@xxxxxxxxx>
  Date:   2016-11-01 (Tue, 01 Nov 2016)

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

  Log Message:
  -----------
  Added ability to read operands that have a SgAsmBinaryAsr as the root expression


  Commit: bdc29b798ba5f48f8ac4cfd7509528654aeae14f
      https://github.com/dyninst/dyninst/commit/bdc29b798ba5f48f8ac4cfd7509528654aeae14f
  Author: Sunny Shah <shahsunny712@xxxxxxxxx>
  Date:   2016-11-01 (Tue, 01 Nov 2016)

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

  Log Message:
  -----------
  Allow reading of operands with a SgAsmBinaryLsr as the root expression


  Commit: 99fb8f7d7f29e19f9d476bc3188be3bbe62e725b
      https://github.com/dyninst/dyninst/commit/99fb8f7d7f29e19f9d476bc3188be3bbe62e725b
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-11-03 (Thu, 03 Nov 2016)

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

  Log Message:
  -----------
  Updated semantics for SBFM and UBFM variants

Semantics updated to not make redundant function calls with the same arguments. Also added implementation for DispatcherARM64::getBitfieldMask().


  Commit: 2e550dc1b390578aa2e3de12a19b634a44ae453b
      https://github.com/dyninst/dyninst/commit/2e550dc1b390578aa2e3de12a19b634a44ae453b
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-11-04 (Fri, 04 Nov 2016)

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

  Log Message:
  -----------
  Fix for decoding error in register based load/store instructions

The shift amount for the second source register in load/store (register)
instructions should depend only on the value of the 'S' field.


  Commit: 5bbe517aaa7e0f0fcae61d4a5e88f5e25ed7dcd0
      https://github.com/dyninst/dyninst/commit/5bbe517aaa7e0f0fcae61d4a5e88f5e25ed7dcd0
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-04 (Fri, 04 Nov 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/DispatcherARM64.C
    M dataflowAPI/rose/semantics/DispatcherARM64.h
    M instructionAPI/src/InstructionDecoder-aarch64.C

  Log Message:
  -----------
  Merge branch 'arm64/feature/semantics' of /home/ssunny/dyninst/dyninst-code into upstream/arm64/feature/semantics


  Commit: 5f9bbfdd1875d079be34d74a9f5ae8feb82b3c3c
      https://github.com/dyninst/dyninst/commit/5f9bbfdd1875d079be34d74a9f5ae8feb82b3c3c
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-11-06 (Sun, 06 Nov 2016)

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

  Log Message:
  -----------
  Instruction decoding fix: Alias ORR to MOV when the first source operand is WZR and the 'shift'
and 'imm6' fields are both 0.


  Commit: c7cf7ced2c3858acd97ec220c0d58c4bf4668cb6
      https://github.com/dyninst/dyninst/commit/c7cf7ced2c3858acd97ec220c0d58c4bf4668cb6
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-07 (Mon, 07 Nov 2016)

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

  Log Message:
  -----------
  Merge branch 'upstream/arm64/feature/semantics' of coriander.cs.wisc.edu:/p/paradyn/development/xmeng/dyninstapi/dyninst_development/dyninst into upstream/arm64/feature/semantics


  Commit: 2d5b3c0e5b85e216e6415f6cd8909bbaa30b8007
      https://github.com/dyninst/dyninst/commit/2d5b3c0e5b85e216e6415f6cd8909bbaa30b8007
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-11-07 (Mon, 07 Nov 2016)

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

  Log Message:
  -----------
  Semantics for ORR variants (including two MOV instructions), ORN and AND/ANDS variants

The semantics use the newly added LogicalOp enum to identify the type of
logical operation.


  Commit: a14cd6c5d74282d2383e80165fa5d03ca57b9425
      https://github.com/dyninst/dyninst/commit/a14cd6c5d74282d2383e80165fa5d03ca57b9425
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-11-07 (Mon, 07 Nov 2016)

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

  Log Message:
  -----------
  Semantics for EOR variants and EON


  Commit: 5e21f7614b40108a8a8c772bbfdb7e6b0b85e2ce
      https://github.com/dyninst/dyninst/commit/5e21f7614b40108a8a8c772bbfdb7e6b0b85e2ce
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-07 (Mon, 07 Nov 2016)

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

  Log Message:
  -----------
  Merge branch 'upstream/arm64/feature/semantics' of coriander.cs.wisc.edu:/p/paradyn/development/xmeng/dyninstapi/dyninst_development/dyninst into upstream/arm64/feature/semantics


  Commit: 54cdbf8369b62a37f470faec2efd44e8879d9841
      https://github.com/dyninst/dyninst/commit/54cdbf8369b62a37f470faec2efd44e8879d9841
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-11-10 (Thu, 10 Nov 2016)

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

  Log Message:
  -----------
  Semantics for immediate variants of LSL, LSR and ASR


  Commit: b573a3572c0cafa8730559026754e565ca9b1ae2
      https://github.com/dyninst/dyninst/commit/b573a3572c0cafa8730559026754e565ca9b1ae2
  Author: Sunny Shah <shahsunny712@xxxxxxxxx>
  Date:   2016-11-10 (Thu, 10 Nov 2016)

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

  Log Message:
  -----------
  Merge branch 'arm64/feature/semantics' of bigking.cs.wisc.edu:/u/s/s/ssunny/dev-home/dyninst/dyninst-code into arm64/feature/semantics


  Commit: 57cd4981de373254e0f4f6de1cd4fbe27d0e6112
      https://github.com/dyninst/dyninst/commit/57cd4981de373254e0f4f6de1cd4fbe27d0e6112
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-10 (Thu, 10 Nov 2016)

  Changed paths:
    M dataflowAPI/src/SymbolicExpansion.C
    M parseAPI/h/CodeSource.h
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/JumpTablePred.C
    M parseAPI/src/SymtabCodeSource.C
    M parseAPI/src/debug_parse.C
    M parseAPI/src/debug_parse.h

  Log Message:
  -----------
  1. Add timing statistics for parsing
2. Fix tail call heuristics for ARM
3. Eliminate redundant indirect edges


  Commit: 0058983b8d070fe3b1e987c3737ae443495b3628
      https://github.com/dyninst/dyninst/commit/0058983b8d070fe3b1e987c3737ae443495b3628
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-10 (Thu, 10 Nov 2016)

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

  Log Message:
  -----------
  Merge branch 'arm64/feature/semantics' of /home/ssunny/dyninst/dyninst-code into upstream/arm64/feature/semantics


  Commit: 810d689960e6e2c9f57e2475f14677f6d1fce509
      https://github.com/dyninst/dyninst/commit/810d689960e6e2c9f57e2475f14677f6d1fce509
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-11 (Fri, 11 Nov 2016)

  Changed paths:
    M parseAPI/src/IndirectASTVisitor.C

  Log Message:
  -----------
  Fix checking of zero flag for table index


  Commit: 9b12e48006423dd77ddd764445cdf32efa7fba7b
      https://github.com/dyninst/dyninst/commit/9b12e48006423dd77ddd764445cdf32efa7fba7b
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-11 (Fri, 11 Nov 2016)

  Changed paths:
    M parseAPI/src/IndirectAnalyzer.C

  Log Message:
  -----------
  On ARM, many jump table reads are one-byte memory reads. Assuming one-byte read yields a value in [0,255] would cause too many bogus edges. Disable this heuristics on ARM


  Commit: 25119c1f2437e542e0f645a28dd4eb9054d780a2
      https://github.com/dyninst/dyninst/commit/25119c1f2437e542e0f645a28dd4eb9054d780a2
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-11 (Fri, 11 Nov 2016)

  Changed paths:
    M parseAPI/src/JumpTablePred.C
    M parseAPI/src/JumpTablePred.h

  Log Message:
  -----------
  When we encounter instructions without instruction semantics, we should stop jump table analyis.
In such case, if the missing instruction is key to the jump table analysis, we will not be able to
resolve it. If the missing instruction is not relevant to the jump table analysis, the slicing
is including unnecessary instruction. In either case, we should fix things.


  Commit: 2c1b67eca9ad00addbbbd346b57dddbf51040052
      https://github.com/dyninst/dyninst/commit/2c1b67eca9ad00addbbbd346b57dddbf51040052
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-11 (Fri, 11 Nov 2016)

  Changed paths:
    M parseAPI/src/JumpTablePred.C

  Log Message:
  -----------
  Only stop slicing when encoutering missing instruction semantics on ARM


  Commit: a17f5b48a5ab63550d44c3a56a356831a9b21467
      https://github.com/dyninst/dyninst/commit/a17f5b48a5ab63550d44c3a56a356831a9b21467
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-11 (Fri, 11 Nov 2016)

  Changed paths:
    M .gitignore
    A .idea/deployment.xml
    A .idea/webServers.xml
    M .travis.yml
    M CMakeLists.txt
    R README
    A README.md
    A appveyor.yml
    A cmake/cotire.cmake
    M cmake/optimization.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake
    M cmake/warnings.cmake
    M common/CMakeLists.txt
    M common/h/IBSTree-fast.h
    M common/h/IBSTree.h
    M common/h/SymReader.h
    M common/h/dyntypes.h
    M common/src/addrtranslate-win.C
    M common/src/arch-aarch64.C
    M common/src/debug_common.h
    M common/src/dyn_regs.C
    M common/src/ntHeaders.h
    M common/src/util.C
    A dataflowAPI/README.md
    M dataflowAPI/h/Absloc.h
    M dataflowAPI/h/SymEval.h
    M dataflowAPI/h/stackanalysis.h
    M dataflowAPI/rose/SgAsmPowerpcInstruction.h
    M dataflowAPI/rose/rangemap.C
    M dataflowAPI/rose/util/LinearCongruentialGenerator.C
    M dataflowAPI/rose/util/StringUtility.C
    M dataflowAPI/rose/util/StringUtility.h
    M dataflowAPI/src/ABI.C
    M dataflowAPI/src/Absloc.C
    M dataflowAPI/src/SymEvalPolicy.C
    M dataflowAPI/src/Visitors.C
    M dataflowAPI/src/liveness.C
    M dataflowAPI/src/stackanalysis.C
    M dwarf/CMakeLists.txt
    M dwarf/h/dwarfHandle.h
    M dwarf/src/dwarfHandle.C
    M dwarf/src/dwarfResult.C
    M dynC_API/CMakeLists.txt
    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/CMakeLists.txt
    R dyninstAPI/README
    A dyninstAPI/README.md
    M dyninstAPI/h/BPatch_addressSpace.h
    M dyninstAPI/h/BPatch_function.h
    M dyninstAPI/h/BPatch_image.h
    M dyninstAPI/h/BPatch_module.h
    M dyninstAPI/h/BPatch_object.h
    M dyninstAPI/h/BPatch_statement.h
    M dyninstAPI/src/BPatch_addressSpace.C
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/BPatch_image.C
    M dyninstAPI/src/BPatch_module.C
    M dyninstAPI/src/BPatch_object.C
    M dyninstAPI/src/BPatch_statement.C
    M dyninstAPI/src/BPatch_type.C
    M dyninstAPI/src/Relocation/CodeTracker.C
    M dyninstAPI/src/Relocation/CodeTracker.h
    M dyninstAPI/src/Relocation/Springboard.h
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    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/codegen-x86.C
    M dyninstAPI/src/function.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/image.h
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/parse-cfg.C
    M dyninstAPI/src/parse-cfg.h
    M dyninstAPI_RT/src/RTheap-win.c
    M dyninstAPI_RT/src/RTheap.c
    M dyninstAPI_RT/src/RTwinnt.c
    R dynutil/CMakeLists.txt
    M elf/CMakeLists.txt
    M elf/h/Elf_X.h
    M elf/src/Elf_X.C
    M external/inttypes-win.h
    M external/stdint-win.h
    M instructionAPI/CMakeLists.txt
    M instructionAPI/h/InstructionAST.h
    M instructionAPI/src/BinaryFunction.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-aarch64.h
    M instructionAPI/src/Operand.C
    R nmake.config
    M parseAPI/CMakeLists.txt
    R parseAPI/README
    A parseAPI/README.md
    M parseAPI/h/CFG.h
    M parseAPI/h/CFGFactory.h
    M parseAPI/h/CodeSource.h
    M parseAPI/src/Block.C
    M parseAPI/src/BoundFactCalculator.h
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/BoundFactData.h
    M parseAPI/src/IA_aarch64Details.C
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/JumpTablePred.C
    M parseAPI/src/JumpTablePred.h
    M parseAPI/src/ProbabilisticParser.C
    M parseAPI/src/SymLiteCodeSource.C
    M parseAPI/src/SymtabCodeSource.C
    M parseAPI/src/util.h
    R parseThat/README
    A parseThat/README.md
    M parseThat/src/record.C
    M patchAPI/CMakeLists.txt
    M proccontrol/CMakeLists.txt
    A proccontrol/README.md
    M proccontrol/src/handler.C
    M proccontrol/src/int_process.h
    M proccontrol/src/int_thread_db.C
    M proccontrol/src/irpc.C
    M proccontrol/src/linux.C
    M proccontrol/src/linux.h
    M proccontrol/src/loadLibrary/codegen-linux.C
    M proccontrol/src/loadLibrary/codegen.C
    M proccontrol/src/process.C
    M proccontrol/src/processplat.C
    M proccontrol/src/procset.C
    M proccontrol/src/x86_process.C
    M stackwalk/CMakeLists.txt
    A stackwalk/README.md
    M stackwalk/doc/3-API.tex
    M stackwalk/doc/stackwalk.pdf
    M stackwalk/src/linux-x86-swk.C
    M symlite/CMakeLists.txt
    A symlite/README.md
    M symlite/h/SymLite-elf.h
    M symlite/src/SymLite-elf.C
    M symtabAPI/CMakeLists.txt
    R symtabAPI/README
    A symtabAPI/README.md
    M symtabAPI/h/Function.h
    M symtabAPI/h/LineInformation.h
    M symtabAPI/h/Module.h
    M symtabAPI/h/RangeLookup.h
    A symtabAPI/h/StringTable.h
    M symtabAPI/h/Symbol.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/h/SymtabReader.h
    M symtabAPI/src/Function.C
    M symtabAPI/src/LineInformation.C
    M symtabAPI/src/Module.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Object-elf.h
    M symtabAPI/src/Object-nt.C
    M symtabAPI/src/Object-nt.h
    M symtabAPI/src/Object.C
    M symtabAPI/src/Object.h
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/SymtabReader.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElfStatic-x86.C
    M symtabAPI/src/emitElfStatic.h
    M symtabAPI/src/emitWin.C

  Log Message:
  -----------
  Merge ARM jump table parsing and instruction semantics into master

Conflicts:
	common/src/dyn_regs.C
	dataflowAPI/rose/semantics/SymEvalSemantics.C
	parseAPI/src/BoundFactData.C
	parseAPI/src/JumpTablePred.C
	parseAPI/src/JumpTablePred.h


  Commit: d8edc10eafe935b80ebfd95e7c01e7791add50c5
      https://github.com/dyninst/dyninst/commit/d8edc10eafe935b80ebfd95e7c01e7791add50c5
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-11 (Fri, 11 Nov 2016)

  Changed paths:
    M dataflowAPI/src/SymbolicExpansion.C

  Log Message:
  -----------
  Do not output missing semantics to stderr


  Commit: 05b75312397b627e051646b94a53c75b481474bf
      https://github.com/dyninst/dyninst/commit/05b75312397b627e051646b94a53c75b481474bf
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-11-11 (Fri, 11 Nov 2016)

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

  Log Message:
  -----------
  Semantics for BIC and BFM variants

Instructions covered:
* BIC
* BICS
* BFM
* BFXIL
* BFI


  Commit: a64a47497024bc8b8eab5b1adaf046dbae535efc
      https://github.com/dyninst/dyninst/commit/a64a47497024bc8b8eab5b1adaf046dbae535efc
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-13 (Sun, 13 Nov 2016)

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

  Log Message:
  -----------
  Remove fprintf output


  Commit: d43f8e46f4f9fb3c92db8e75d18c93ceb4503240
      https://github.com/dyninst/dyninst/commit/d43f8e46f4f9fb3c92db8e75d18c93ceb4503240
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-19 (Sat, 19 Nov 2016)

  Changed paths:
    M dataflowAPI/h/SymEval.h
    M parseAPI/src/IndirectAnalyzer.C

  Log Message:
  -----------
  Clean parsing log messages


  Commit: d811f19e4b94abeb7877d569e768a110ab606298
      https://github.com/dyninst/dyninst/commit/d811f19e4b94abeb7877d569e768a110ab606298
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-20 (Sun, 20 Nov 2016)

  Changed paths:
    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/JumpTablePred.C

  Log Message:
  -----------
  1. An indirect jump may be shared by several different jump tables. Add value set representations so that we can union jump targets from different tables.
2. Separate input absloc from absloc at the current address, as they may have different values


  Commit: c0f9eb28bf5c3d6c95923ba99a78da581212714f
      https://github.com/dyninst/dyninst/commit/c0f9eb28bf5c3d6c95923ba99a78da581212714f
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-20 (Sun, 20 Nov 2016)

  Changed paths:
    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

  Log Message:
  -----------
  Address calculation should use 64-bit integers..


  Commit: dd1b12e7dfab293bd0c13995241e61b4e4406386
      https://github.com/dyninst/dyninst/commit/dd1b12e7dfab293bd0c13995241e61b4e4406386
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2016-11-21 (Mon, 21 Nov 2016)

  Changed paths:
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectAnalyzer.C

  Log Message:
  -----------
  On x86, and instruction would generate an zf assignment that looks like an assignment generated from a cmp instruction.
The zf assignment from and needs special handling from a zf assignment from cmp.


  Commit: c2c334874553f7054eaa3fca841766c333e67163
      https://github.com/dyninst/dyninst/commit/c2c334874553f7054eaa3fca841766c333e67163
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-12-01 (Thu, 01 Dec 2016)

  Changed paths:
    M .gitignore
    A .idea/deployment.xml
    A .idea/webServers.xml
    M .travis.yml
    M CMakeLists.txt
    R README
    A README.md
    A appveyor.yml
    A cmake/cotire.cmake
    M cmake/optimization.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake
    M cmake/warnings.cmake
    M common/CMakeLists.txt
    M common/h/IBSTree-fast.h
    M common/h/IBSTree.h
    M common/h/SymReader.h
    M common/h/dyntypes.h
    M common/src/addrtranslate-win.C
    M common/src/arch-aarch64.C
    M common/src/debug_common.h
    M common/src/dyn_regs.C
    M common/src/ntHeaders.h
    M common/src/util.C
    A dataflowAPI/README.md
    M dataflowAPI/h/Absloc.h
    M dataflowAPI/h/SymEval.h
    M dataflowAPI/h/stackanalysis.h
    M dataflowAPI/rose/SgAsmPowerpcInstruction.h
    M dataflowAPI/rose/rangemap.C
    M dataflowAPI/rose/semantics/DispatcherARM64.C
    M dataflowAPI/rose/util/LinearCongruentialGenerator.C
    M dataflowAPI/rose/util/StringUtility.C
    M dataflowAPI/rose/util/StringUtility.h
    M dataflowAPI/src/ABI.C
    M dataflowAPI/src/Absloc.C
    M dataflowAPI/src/SymEvalPolicy.C
    M dataflowAPI/src/SymbolicExpansion.C
    M dataflowAPI/src/Visitors.C
    M dataflowAPI/src/liveness.C
    M dataflowAPI/src/stackanalysis.C
    M dwarf/CMakeLists.txt
    M dwarf/h/dwarfHandle.h
    M dwarf/src/dwarfHandle.C
    M dwarf/src/dwarfResult.C
    M dynC_API/CMakeLists.txt
    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/CMakeLists.txt
    R dyninstAPI/README
    A dyninstAPI/README.md
    M dyninstAPI/h/BPatch_addressSpace.h
    M dyninstAPI/h/BPatch_function.h
    M dyninstAPI/h/BPatch_image.h
    M dyninstAPI/h/BPatch_module.h
    M dyninstAPI/h/BPatch_object.h
    M dyninstAPI/h/BPatch_statement.h
    M dyninstAPI/src/BPatch_addressSpace.C
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/BPatch_image.C
    M dyninstAPI/src/BPatch_module.C
    M dyninstAPI/src/BPatch_object.C
    M dyninstAPI/src/BPatch_statement.C
    M dyninstAPI/src/BPatch_type.C
    M dyninstAPI/src/Relocation/CodeTracker.C
    M dyninstAPI/src/Relocation/CodeTracker.h
    M dyninstAPI/src/Relocation/Springboard.h
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    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/codegen-x86.C
    M dyninstAPI/src/function.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/image.h
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/parse-cfg.C
    M dyninstAPI/src/parse-cfg.h
    M dyninstAPI_RT/src/RTheap-win.c
    M dyninstAPI_RT/src/RTheap.c
    M dyninstAPI_RT/src/RTwinnt.c
    R dynutil/CMakeLists.txt
    M elf/CMakeLists.txt
    M elf/h/Elf_X.h
    M elf/src/Elf_X.C
    M external/inttypes-win.h
    M external/stdint-win.h
    M instructionAPI/CMakeLists.txt
    M instructionAPI/h/InstructionAST.h
    M instructionAPI/src/BinaryFunction.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-aarch64.h
    M instructionAPI/src/Operand.C
    R nmake.config
    M parseAPI/CMakeLists.txt
    R parseAPI/README
    A parseAPI/README.md
    M parseAPI/h/CFG.h
    M parseAPI/h/CFGFactory.h
    M parseAPI/h/CodeSource.h
    M parseAPI/src/Block.C
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactCalculator.h
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/BoundFactData.h
    M parseAPI/src/IA_aarch64Details.C
    M parseAPI/src/IA_x86.C
    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/ProbabilisticParser.C
    M parseAPI/src/SymLiteCodeSource.C
    M parseAPI/src/SymtabCodeSource.C
    M parseAPI/src/util.h
    R parseThat/README
    A parseThat/README.md
    M parseThat/src/record.C
    M patchAPI/CMakeLists.txt
    M proccontrol/CMakeLists.txt
    A proccontrol/README.md
    M proccontrol/src/handler.C
    M proccontrol/src/int_process.h
    M proccontrol/src/int_thread_db.C
    M proccontrol/src/irpc.C
    M proccontrol/src/linux.C
    M proccontrol/src/linux.h
    M proccontrol/src/loadLibrary/codegen-linux.C
    M proccontrol/src/loadLibrary/codegen.C
    M proccontrol/src/process.C
    M proccontrol/src/processplat.C
    M proccontrol/src/procset.C
    M proccontrol/src/x86_process.C
    M stackwalk/CMakeLists.txt
    A stackwalk/README.md
    M stackwalk/doc/3-API.tex
    M stackwalk/doc/stackwalk.pdf
    M stackwalk/src/linux-x86-swk.C
    M symlite/CMakeLists.txt
    A symlite/README.md
    M symlite/h/SymLite-elf.h
    M symlite/src/SymLite-elf.C
    M symtabAPI/CMakeLists.txt
    R symtabAPI/README
    A symtabAPI/README.md
    M symtabAPI/h/Function.h
    M symtabAPI/h/LineInformation.h
    M symtabAPI/h/Module.h
    M symtabAPI/h/RangeLookup.h
    A symtabAPI/h/StringTable.h
    M symtabAPI/h/Symbol.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/h/SymtabReader.h
    M symtabAPI/src/Function.C
    M symtabAPI/src/LineInformation.C
    M symtabAPI/src/Module.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Object-elf.h
    M symtabAPI/src/Object-nt.C
    M symtabAPI/src/Object-nt.h
    M symtabAPI/src/Object.C
    M symtabAPI/src/Object.h
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/SymtabReader.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElfStatic-x86.C
    M symtabAPI/src/emitElfStatic.h
    M symtabAPI/src/emitWin.C

  Log Message:
  -----------
  Merge remote-tracking branch 'mx297/master' into arm64/feature/semantics


  Commit: 8eff56c49e54fb4bf292590a191e294898ebe744
      https://github.com/dyninst/dyninst/commit/8eff56c49e54fb4bf292590a191e294898ebe744
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-12-01 (Thu, 01 Dec 2016)

  Changed paths:
    M .gitignore
    M CMakeLists.txt
    M cmake/shared.cmake
    M cmake/warnings.cmake
    M common/src/linuxKludges.C
    M dataflowAPI/src/stackanalysis.C
    M dynC_API/CMakeLists.txt
    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
    M dyninstAPI/src/BPatch_addressSpace.C
    M dyninstAPI/src/BPatch_type.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/function.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI_RT/src/RTheap.c
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M parseAPI/src/IA_powerDetails.C
    M parseThat/src/dyninstCore.C
    M proccontrol/doc/proccontrol.docx
    M proccontrol/doc/proccontrol.pdf
    M proccontrol/src/DecoderWindows.C
    M proccontrol/src/process.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/relocationEntry-elf-aarch64.C

  Log Message:
  -----------
  Merge branch 'master' into arm64/feature/semantics


  Commit: 990be908c15a91e80ac4c821b3c4111dae6c5f2b
      https://github.com/dyninst/dyninst/commit/990be908c15a91e80ac4c821b3c4111dae6c5f2b
  Author: Bill Williams <wwilliam47@xxxxxxxxx>
  Date:   2016-12-02 (Fri, 02 Dec 2016)

  Changed paths:
    M common/h/dyn_regs.h
    M common/src/dyn_regs.C
    M dataflowAPI/h/SymEval.h
    M dataflowAPI/rose/semantics/BaseSemantics2.C
    M dataflowAPI/rose/semantics/DispatcherARM64.C
    M dataflowAPI/rose/semantics/DispatcherARM64.h
    M dataflowAPI/rose/semantics/Registers.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.h
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/RoseImpl.C
    M dataflowAPI/src/SymbolicExpansion.C
    M dataflowAPI/src/slicing.C
    M external/rose/armv8InstructionEnum.h
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M parseAPI/h/CodeSource.h
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/BoundFactData.h
    M parseAPI/src/CodeObject.C
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/InstructionSource-aarch64.C
    M parseAPI/src/JumpTablePred.C
    M parseAPI/src/JumpTablePred.h
    M parseAPI/src/SymtabCodeSource.C
    M parseAPI/src/debug_parse.C
    M parseAPI/src/debug_parse.h

  Log Message:
  -----------
  Merge pull request #228 from mxz297/master

Merge ARM instruction semantics and jump table parsing


Compare: https://github.com/dyninst/dyninst/compare/6b9f3e1b8f87...990be908c15a
[← Prev in Thread] Current Thread [Next in Thread→]