[DynInst_API:] [dyninst/dyninst] 63b06a: Add basic relocation functionality


Date: Mon, 22 Oct 2018 11:50:52 -0700
From: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 63b06a: Add basic relocation functionality
  Branch: refs/heads/new-parallel-parsing
  Home:   https://github.com/dyninst/dyninst
  Commit: 63b06a62caec6eeff6f47a73e6826ff2b979b4ff
      https://github.com/dyninst/dyninst/commit/63b06a62caec6eeff6f47a73e6826ff2b979b4ff
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-aarch64.C
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/stackwalk-aarch64.C

  Log Message:
  -----------
  Add basic relocation functionality

The control flow widget for ARM64 contains a generic implementation to support
relocation: the implementation mostly mimics that for Power, differing
at the places where the "call" bit for a branch instruction needs to be
set/unset. The createStackwalkerSteppers() implementation in the stackwalking code
also mimics than on Power.

This commit does not touch all changes required to support relocation
but only a subset.


  Commit: 1933230b9002127f8e6630e9b6fb9f724243acd7
      https://github.com/dyninst/dyninst/commit/1933230b9002127f8e6630e9b6fb9f724243acd7
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

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

  Log Message:
  -----------
  Implemented generateBranch, generateCall and generateBranchViaTrap.
Also added stub for generateAddReg.


  Commit: 54f1973f3ce8619714cb4a6968a2ad129228a38d
      https://github.com/dyninst/dyninst/commit/54f1973f3ce8619714cb4a6968a2ad129228a38d
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/codegen-power.C
    M dyninstAPI/src/codegen-power.h
    M dyninstAPI/src/codegen-x86.h

  Log Message:
  -----------
  Removed definitions and declarations of
insnCodeGen::generateInterFunctionBranch for all architectures.

Reason: dead code.


  Commit: 7ff51c4291e0fd87a8a3fb3c439dc511808bae58
      https://github.com/dyninst/dyninst/commit/7ff51c4291e0fd87a8a3fb3c439dc511808bae58
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/Relocation/Widgets/CFWidget-aarch64.C
    M dyninstAPI/src/codegen-aarch64.C

  Log Message:
  -----------
  Codegen function changes to support the ARM CF Widget. These changes
involve the insnCodeGen::modify* calls.

Also added FIXME notes to the PPC CF widget for potential code areas
that may be deprecated and thus could be considered for update/removal.


  Commit: 3548b29e3cb2e61d066fd37cdb9118739424529f
      https://github.com/dyninst/dyninst/commit/3548b29e3cb2e61d066fd37cdb9118739424529f
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/codegen-power.C

  Log Message:
  -----------
  Completed implementation of modify*() functions for ARM codegen and
removed functions not currently required for the platform.


  Commit: 7ba4a02473107167be92f648d39b19f0da031cc4
      https://github.com/dyninst/dyninst/commit/7ba4a02473107167be92f648d39b19f0da031cc4
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/Relocation/Widgets/CFWidget-aarch64.C
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h

  Log Message:
  -----------
  Adding back functions removed in last commit

The removal of the functions in the last commit caused several build
failures that will need the functions to be present. Keeping them in the
file while I resolve any dependencies and implement the required ones as
necessary.


  Commit: dbe89ba17d1c17f9bf66ab5136c1f791e4cd3b32
      https://github.com/dyninst/dyninst/commit/dbe89ba17d1c17f9bf66ab5136c1f791e4cd3b32
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implemented generation of long branches for ARM64.

Long branch generation relies on loading an immediate into a 64-bit
register. This loading is peformed by a newly added function
insnCodeGen::generateMove() which generates one of the 3 move
instructions - MOVZ, MOVK and MOVN - based on the input arguments.

This commit also provides an implementation of the getEmitter() function
for ARM64, although the implementation of emitter methods for both the stat
and dyn versions of the emitter remains pending.


  Commit: 567308121ec40232a3bc825ac029b372332e31f5
      https://github.com/dyninst/dyninst/commit/567308121ec40232a3bc825ac029b372332e31f5
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-aarch64.h
    M dyninstAPI/src/registerSpace.h

  Log Message:
  -----------
  Implemented initialization of register space for ARM64.

Initializes the GPRs, SPRs and FPRs, marking the appropriate ones as
off-limits.


  Commit: 965b58f079087637ea740d3d8a656221a0b5ba6e
      https://github.com/dyninst/dyninst/commit/965b58f079087637ea740d3d8a656221a0b5ba6e
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/inst-aarch64.h

  Log Message:
  -----------
  Update instrumentation/emitter macro definitions for ARM.


  Commit: 1993fb5e95c9709ea5209833c52b0fee83b4e83e
      https://github.com/dyninst/dyninst/commit/1993fb5e95c9709ea5209833c52b0fee83b4e83e
  Author: Itaru Kitayama <itaru.kitayama@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

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

  Log Message:
  -----------
  Fix build warning


  Commit: 1072ef1a9223f3fb092ac0f98ab0235c51ba92e8
      https://github.com/dyninst/dyninst/commit/1072ef1a9223f3fb092ac0f98ab0235c51ba92e8
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-aarch64.h

  Log Message:
  -----------
  Implemented 32/64 bit memory access (store) instruction generation.

insnCodeGen::generateMemAccess32or64() for ARM generates a STR
instruction for storing/loading a single 32- or 64-bit value.

This function will also eventually generate the equivalent load (LDR)
    instruction.


  Commit: 290f09a9bec0e1431a5880d6b088865b770951c2
      https://github.com/dyninst/dyninst/commit/290f09a9bec0e1431a5880d6b088865b770951c2
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.h

  Log Message:
  -----------
  The last commit, for whatever reason, did not add one header even though
it was given as an argument to git add. Adding it now.


  Commit: e18a865b6c82db2d5d653d91c55ca3fef0971cc9
      https://github.com/dyninst/dyninst/commit/e18a865b6c82db2d5d653d91c55ca3fef0971cc9
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C

  Log Message:
  -----------
  Add check for opcode of LDR-immediate (unsigned offset) variant in
insnCodeGen::generateMemAccess32or64().


  Commit: 6ae8ca466a0f274ed254f08f69e07dfaf81e73ca
      https://github.com/dyninst/dyninst/commit/6ae8ca466a0f274ed254f08f69e07dfaf81e73ca
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

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

  Log Message:
  -----------
  Implemented saveSPR() ans restoreSPR() for ARM and updated
special-purpose register stack-offset macros.


  Commit: 08f5eaaca07e1ac20a1dd99d3e02300e6830f63d
      https://github.com/dyninst/dyninst/commit/08f5eaaca07e1ac20a1dd99d3e02300e6830f63d
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-aarch64.h

  Log Message:
  -----------
  Removed unneeded/redundant code for saving/restoring registers.


  Commit: e6f73ed8aeaa59048be1bcb0f5a3877deae074bd
      https://github.com/dyninst/dyninst/commit/e6f73ed8aeaa59048be1bcb0f5a3877deae074bd
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-aarch64.h

  Log Message:
  -----------
  Moved all register saving/restoring functions to one of two new classes
and removed the definitions from the inst-aarch64 header.

This commit moves all functions that handle register saving/restoring
for the base tramp to one of two new classes: EmitterAARCH64SaveRegs and
EmitterAARCH64RestoreRegs. The class definitions go in the emit-aarch64
file with their implementation in the inst-aarch64 file.

baseTramp::generateSaves/generateRestores will have an instance of one
of these classes as appropriate and call only the public methods of the
class. None of the methods for saving/restoring individual regs are now
public: the only public methods are those that save/restore ALL
GPRs/FPRs/SPRs.


  Commit: 15178299db357ce8562360631007d5e525b56d7e
      https://github.com/dyninst/dyninst/commit/15178299db357ce8562360631007d5e525b56d7e
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

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

  Log Message:
  -----------
  Perform only post-indexed memory operations in
insnCodeGen::generateMemAccess32or64.


  Commit: 1a10490115a25be4ba0921e9879c2f7007a5d676
      https://github.com/dyninst/dyninst/commit/1a10490115a25be4ba0921e9879c2f7007a5d676
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-aarch64.h

  Log Message:
  -----------
  Use enums added in codegen to specify type of memory operation
(load/store).


  Commit: 70dd3942c8f366e487f5051abd5ff0893e52059b
      https://github.com/dyninst/dyninst/commit/70dd3942c8f366e487f5051abd5ff0893e52059b
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implemented baseTramp::generateSaves and baseTramp::generateRestores().

The logic for these methods is derived from our current logic on both
x86 and Power. Both of the above call the appropriate methods in
EmitterAARCH64SaveRegs/EmitterAARCH64RestoreRegs.


  Commit: 09d45b22a994ebd40289d46dc6eeb2ccb025b5ad
      https://github.com/dyninst/dyninst/commit/09d45b22a994ebd40289d46dc6eeb2ccb025b5ad
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

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

  Log Message:
  -----------
  Added method to generate an instruction to move a register to/from the
stack pointer.

This method uses the MOV(to/from SP) variant of the move instruction.


  Commit: 0bae3d08180a4147f4ba9702134dd7f01442cd1e
      https://github.com/dyninst/dyninst/commit/0bae3d08180a4147f4ba9702134dd7f01442cd1e
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implemented stack frame creation and tear down functions.

This commit implements EmitterAARCH64SaveRegs::createFrame and
EmitterAARCH64RestoreRegs::tearFrame, mimicking the stack frame creation
and tear down functionality followed by ARM64 binaries. The check for
the link register in saveSPR/restoreSPR is also removed since the link
register will no longer be handled as a SPR.


  Commit: 3ca071fca9255ee5e37081cf177ef34b322c4103
      https://github.com/dyninst/dyninst/commit/3ca071fca9255ee5e37081cf177ef34b322c4103
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implemented saveGPRegister(), saveFPRegisters() and saveFPRegisters() in
EmitterAARCH64SaveRegs.


  Commit: 4fefeac54690397faae65a495c3271bdc68c1e6b
      https://github.com/dyninst/dyninst/commit/4fefeac54690397faae65a495c3271bdc68c1e6b
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Added implementation for saveRegister() ans saveFPRegister() in
EmitterAARCH64SaveRegs.

This commit also adds a new method in codegen for ARM64 -
generateMemAccessFP() to store/load FP registers.


  Commit: 139425ffcae0f4b1c198009a1b7194e35d2e03ac
      https://github.com/dyninst/dyninst/commit/139425ffcae0f4b1c198009a1b7194e35d2e03ac
  Author: Itaru Kitayama <itaru.kitayama@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

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

  Log Message:
  -----------
  Add a macro MSROp


  Commit: 09e94983859d426cad0f790e1ac1b65436ad9322
      https://github.com/dyninst/dyninst/commit/09e94983859d426cad0f790e1ac1b65436ad9322
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Fixed build errors.


  Commit: 5bc7df2e17721b66977cd083e032c43eff8271ae
      https://github.com/dyninst/dyninst/commit/5bc7df2e17721b66977cd083e032c43eff8271ae
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-aarch64.h

  Log Message:
  -----------
  More build fixes.

This commit fixes all pending, miscellaneous build errors on ARM.


  Commit: 357f5dfac7dad06d4175fa9953fbe76165403e83
      https://github.com/dyninst/dyninst/commit/357f5dfac7dad06d4175fa9953fbe76165403e83
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implemented restoreRegister() and restoreFPRegister() in
EmitterAARCH64SaveRegs.


  Commit: ad0951222b114fb95444483554ad66eb53591bdd
      https://github.com/dyninst/dyninst/commit/ad0951222b114fb95444483554ad66eb53591bdd
  Author: Itaru Kitayama <itaru.kitayama@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/baseTramp.C

  Log Message:
  -----------
  Init bit array before it gets used


  Commit: 4e2a65c5cdf82da74696f299eda8e8a8d1860f62
      https://github.com/dyninst/dyninst/commit/4e2a65c5cdf82da74696f299eda8e8a8d1860f62
  Author: Itaru Kitayama <itaru.kitayama@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI_RT/src/RTcommon.c

  Log Message:
  -----------
  Remove !arch_aarch64 guard in init function


  Commit: ebda5cd1e7840f8292f2d8916be6a58dc33ae8db
      https://github.com/dyninst/dyninst/commit/ebda5cd1e7840f8292f2d8916be6a58dc33ae8db
  Author: Itaru Kitayama <itaru.kitayama@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Fix run-time error


  Commit: 9ed19c796e102aeedc3af5d8ec81fa75ff63549f
      https://github.com/dyninst/dyninst/commit/9ed19c796e102aeedc3af5d8ec81fa75ff63549f
  Author: Itaru Kitayama <itaru.kitayama@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

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

  Log Message:
  -----------
  In ARMv8.2 or later extensions, address space can be configured
up to 52 bits. Add new defines, MAX_IMM52 and MIN_IMM52.


  Commit: e2f9d4cef90120d7fa9c5c17fce89b1645e71afc
      https://github.com/dyninst/dyninst/commit/e2f9d4cef90120d7fa9c5c17fce89b1645e71afc
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.C

  Log Message:
  -----------
  Added line to relocation log to indicate a failed application of rel
data patch.


  Commit: 05b5dd7b70a00b01e846298b3942c8a3b8802e6f
      https://github.com/dyninst/dyninst/commit/05b5dd7b70a00b01e846298b3942c8a3b8802e6f
  Author: Itaru Kitayama <itaru.kitayama@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

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

  Log Message:
  -----------
  Use abs() instead of ABS macro


  Commit: eab7109b6c7d3be14164e5ee4dfd0eea89c77705
      https://github.com/dyninst/dyninst/commit/eab7109b6c7d3be14164e5ee4dfd0eea89c77705
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implemented clobberAllFuncCall for ARM64.

The implementation follows the general pattern for other architectures: mark only definitely used registers as used if leaf function, else mark all as used.


  Commit: 63b55cba04442b67cb0e6930c7e9ac5639bedc56
      https://github.com/dyninst/dyninst/commit/63b55cba04442b67cb0e6930c7e9ac5639bedc56
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

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

  Log Message:
  -----------
  Codegen functions for ADD variants

Added two new codegen functions for the ADD (immediate) and ADD (shifted
register) variants of the ADD instruction for ARM64.


  Commit: 20a737aff91d188cff28721eda0db03ced241447
      https://github.com/dyninst/dyninst/commit/20a737aff91d188cff28721eda0db03ced241447
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implemented plus, minus and times operation in emitImm for ARM64.

The plusOp, minusOp and timesOp cases for emitImm are implemented with
this commit. This also introduces three new methods in the codegen file:
* generateAddSubShifted - ADD/SUB (shifted variant)
* generateAddSubImmediate - ADD/SUB (immediate variant)
* generateMul - MUL


  Commit: 84682129169915934a23d031de07b1797b612118
      https://github.com/dyninst/dyninst/commit/84682129169915934a23d031de07b1797b612118
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implemented or and and operations in emitImm for ARM64.

This commit implements the orOp and andOp cases for emitImm. Also
introduced a new function in codegen - generateBitwiseOpShifted - for
generating code for the shifted variants of the bitwise instructions AND, ORR and EOR.


  Commit: d406159544335a99de55b1825bf3424e5a884309
      https://github.com/dyninst/dyninst/commit/d406159544335a99de55b1825bf3424e5a884309
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C

  Log Message:
  -----------
  Added implementation for modifyData() in codegen.

modifyData for ARM deals with ADR/ADRP instructions which need to be
patched to a modified ADR/ADRP or to a bunch of move instructions.


  Commit: cf2f3349b7d94ef09b11fc9bd52a827aad47ea4b
      https://github.com/dyninst/dyninst/commit/cf2f3349b7d94ef09b11fc9bd52a827aad47ea4b
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C

  Log Message:
  -----------
  Differentiate modifyData() processing for ADR/ADRP variants and LDR/LDRSW variants.


  Commit: e9b9b4afad65e2a2d995e5aa5286364524a32196
      https://github.com/dyninst/dyninst/commit/e9b9b4afad65e2a2d995e5aa5286364524a32196
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Fixed modifyData logic for offset values beyond +/- 1 MB.

When the offset is <-1MB/>+1MB, the appropriate sequence of instructions
needs to be generated to keep the PC-relative data access intact. The
previous logic was using the incorrect values for loading into the
temporary registers before using those registers as indirect pointers
(in the LDR/LDRSW case). This is now fixed.


  Commit: 24e518485414dc77c899003357decdf65a7d6e68
      https://github.com/dyninst/dyninst/commit/24e518485414dc77c899003357decdf65a7d6e68
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

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

  Log Message:
  -----------
  Fixed offset calculation in modifyData for the ADRP instruction.


  Commit: a1fb3cc2f1dbb6f7122bc542510c49633226e24c
      https://github.com/dyninst/dyninst/commit/a1fb3cc2f1dbb6f7122bc542510c49633226e24c
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C

  Log Message:
  -----------
  Fixed conditional branch instruction generation for short displacements

For displacements that are in range in the modifyJCC function, only bits
5-23  of the instruction need to be modified to set the new
displacement. That way, all conditional instructions (B.cond, CBZ, CBNZ,
TBZ, TBNZ) are taken into account.


  Commit: 20c70b0fc5651c3890ba7bb97253854c11c87445
      https://github.com/dyninst/dyninst/commit/20c70b0fc5651c3890ba7bb97253854c11c87445
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Fixes for runtime errors

Inlcudes fixes for two seg faults observed while testing relocation:
* createRegisterSpace needs to be called in initialize64.
* modifyData should also handle the literal variant of LDR in the SIMd set.


  Commit: c2c1beeac643196dd23f4e062808be21860320df
      https://github.com/dyninst/dyninst/commit/c2c1beeac643196dd23f4e062808be21860320df
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dataflowAPI/src/ABI.C
    M dataflowAPI/src/RegisterMap.C
    M dataflowAPI/src/RegisterMap.h

  Log Message:
  -----------
  Implemented ABI initialization for ARM

intialize32 for ARM returns directly without doing anything. intialize64
contains the actual logic.


  Commit: 5724845c383877623af37af5556db17954caaa78
      https://github.com/dyninst/dyninst/commit/5724845c383877623af37af5556db17954caaa78
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dataflowAPI/src/ABI.C

  Log Message:
  -----------
  Fixed ABI array intialization for ARM


  Commit: 3d8f78fcb29edff4e573d08e05e2f8db7c46c603
      https://github.com/dyninst/dyninst/commit/3d8f78fcb29edff4e573d08e05e2f8db7c46c603
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implemented IP patch application for ARM.

Updated IPPatch::apply for ARM. Most of the complexity required on Power is avoided here since we have an instruction available (ADR) to get the current PC.
Also updated moveValueToReg in insnCodeGen to accept a vector of registers to be excluded when getting a scratch register.


  Commit: 61069b848092dac5d85618cf79bd6d552a4a1ed1
      https://github.com/dyninst/dyninst/commit/61069b848092dac5d85618cf79bd6d552a4a1ed1
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dataflowAPI/src/ABI.C
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.C
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.h

  Log Message:
  -----------
  Set register space in RelDataPatch

The register space for the codeGen object used in RelDataPatch needs to be set before it is passed to insnCodeGen, since the latter uses it when getting a scratch register.

If the codeGen point in RelDataPatch is null, a new point needs to be generated referencing the previous instruction. This requires pointers to the function and block instances. To store these pointe
ers from RelDataWidget, two new fields (and their setters) are added to RelDataPatch.


  Commit: 468ea91b3f565dee2135822ea69d7eff61c35d36
      https://github.com/dyninst/dyninst/commit/468ea91b3f565dee2135822ea69d7eff61c35d36
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/linux.C

  Log Message:
  -----------
  Call the right region_* methods for ARM.


  Commit: 14476a81c14d112bb670a7c9ad0eb3064df9f9cb
      https://github.com/dyninst/dyninst/commit/14476a81c14d112bb670a7c9ad0eb3064df9f9cb
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-08-31 (Thu, 31 Aug 2017)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C

  Log Message:
  -----------
  Updated comment for modifyJcc


  Commit: 25028b791270f2f7a55b07aed564060063829fc8
      https://github.com/dyninst/dyninst/commit/25028b791270f2f7a55b07aed564060063829fc8
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2017-10-30 (Mon, 30 Oct 2017)

  Changed paths:
    M dyninstAPI/src/ast.C
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/emitElfStatic.C
    M symtabAPI/src/relocationEntry-elf-aarch64.C
    M symtabAPI/src/relocationEntry-elf-x86.C

  Log Message:
  -----------
  Fixing some relocation issues: object-elf relocation type of sections and AARCH64 relocation entry category.


  Commit: d68b6e41b34b7f96deb7900bbc5da9f247ad7559
      https://github.com/dyninst/dyninst/commit/d68b6e41b34b7f96deb7900bbc5da9f247ad7559
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2017-10-30 (Mon, 30 Oct 2017)

  Changed paths:
    M dyninstAPI/src/dynProcess.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

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


  Commit: 8fed6b3b8372a3adb4eddf287f2d7305dc7cf669
      https://github.com/dyninst/dyninst/commit/8fed6b3b8372a3adb4eddf287f2d7305dc7cf669
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

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

  Log Message:
  -----------
  Update instruction semantics for adr and adrp. An earlier commit change these two instructions to have only two operands rather than three operands.


  Commit: 27b0a9197b1be530bfd3e98e72ccd24510aae9a4
      https://github.com/dyninst/dyninst/commit/27b0a9197b1be530bfd3e98e72ccd24510aae9a4
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2017-11-02 (Thu, 02 Nov 2017)

  Changed paths:
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/codegen-aarch64.C

  Log Message:
  -----------
  1. Fix codegen for ADR instructions
2. On ARM, PC relative calculation should use pre-instruction PC values


  Commit: 7173665580a57e59980876ed4548beff74218ceb
      https://github.com/dyninst/dyninst/commit/7173665580a57e59980876ed4548beff74218ceb
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2017-11-20 (Mon, 20 Nov 2017)

  Changed paths:
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElf.h
    M symtabAPI/src/emitElfStatic.C

  Log Message:
  -----------
  Sorting symbols by address


  Commit: 9ac3f976f3b3047271e1f32590550888b28c1840
      https://github.com/dyninst/dyninst/commit/9ac3f976f3b3047271e1f32590550888b28c1840
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2017-12-27 (Wed, 27 Dec 2017)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C

  Log Message:
  -----------
  Change instruction when offset is greater than 1 MB.


  Commit: a239d85ea4918f229299422c645526cb781d2372
      https://github.com/dyninst/dyninst/commit/a239d85ea4918f229299422c645526cb781d2372
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2017-12-27 (Wed, 27 Dec 2017)

  Changed paths:
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  Making .gnu.version_d be renamed .onu.version_d


  Commit: 0466ac2d0451ab8092da60d929ee6c49137d653d
      https://github.com/dyninst/dyninst/commit/0466ac2d0451ab8092da60d929ee6c49137d653d
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  .gnu.version_d section info and data fixed.


  Commit: f7c5238d1839b4f0b2e2701664275cd93bd04834
      https://github.com/dyninst/dyninst/commit/f7c5238d1839b4f0b2e2701664275cd93bd04834
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-01-04 (Thu, 04 Jan 2018)

  Changed paths:
    M dyninstAPI/src/unix.C

  Log Message:
  -----------
  Adding code for function "_fini" for arch_aarch64.
This was already done for x86, x86_64 and power.


  Commit: ed99b21d7ee027da09285b7c2c169680e39f3df6
      https://github.com/dyninst/dyninst/commit/ed99b21d7ee027da09285b7c2c169680e39f3df6
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-01-10 (Wed, 10 Jan 2018)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/unix.C

  Log Message:
  -----------
  Correctly modifying conditional branches.
TBZ AND TBNZ instructions were not being properly generated after relocation.


  Commit: ee2244b03532a8825cc11fc3eceb5be1b4532b3c
      https://github.com/dyninst/dyninst/commit/ee2244b03532a8825cc11fc3eceb5be1b4532b3c
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-01-11 (Thu, 11 Jan 2018)

  Changed paths:
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C

  Log Message:
  -----------
  Fixing thunk call instruction generation. This makes libc work after relocation of all funtions.


  Commit: 2f58230ffdcc902d9bfb3413d71299b8bf54c14d
      https://github.com/dyninst/dyninst/commit/2f58230ffdcc902d9bfb3413d71299b8bf54c14d
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-02-16 (Fri, 16 Feb 2018)

  Changed paths:
    M symtabAPI/src/emitElfStatic.C

  Log Message:
  -----------
  Use of page size was hard coded.
There was a hard coded 4KB page size during the process of finding space for the new loadable sections. Since leela configuration for page size is 64KB, the smaller page size would cause to generate an assignment of virtual address that would lead to juxtaposition of two LOAD segments.


  Commit: d326c8be7b71c6ca9513b5bcbe5fa64ec2beb41b
      https://github.com/dyninst/dyninst/commit/d326c8be7b71c6ca9513b5bcbe5fa64ec2beb41b
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-03-06 (Tue, 06 Mar 2018)

  Changed paths:
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C

  Log Message:
  -----------
  Should only check for thunk call when it is a call instruction

(cherry picked from commit 0dbfa36c9cc535f4dd25e657f0e1d2b54df29710)


  Commit: ac488a020ca6af6316ecf34b04d03b006f096cec
      https://github.com/dyninst/dyninst/commit/ac488a020ca6af6316ecf34b04d03b006f096cec
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-03-07 (Wed, 07 Mar 2018)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/parse-aarch64.C
    M dyninstAPI/src/registerSpace.C

  Log Message:
  -----------
  Implementing enconding function for registerSpace.
Implementing calcUsedRegisters for parse_func.
Making sure to test for Call Instruction under modifyJump.
Preparing functions emitCall, emitA, and emitIf.
Fixing some compiling warnings.


  Commit: 6b44af95b70f88b72e230f8a2e0a38b577dabc87
      https://github.com/dyninst/dyninst/commit/6b44af95b70f88b72e230f8a2e0a38b577dabc87
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-03-07 (Wed, 07 Mar 2018)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C

  Log Message:
  -----------
  Correct use of abs.


  Commit: 28f89a98bd999c72b798abae293d4c19b3ef17a1
      https://github.com/dyninst/dyninst/commit/28f89a98bd999c72b798abae293d4c19b3ef17a1
  Author: Sasha Nicolas (arm1) <sasha@xxxxxxxxxxx>
  Date:   2018-04-11 (Wed, 11 Apr 2018)

  Changed paths:
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implementing functions in EmitterAARCH64 class such as emitIf, emitLoadConst,
    emitLoad, emitLoadConst, emitStore, and emitCall.
Making corrections in insnCodeGen::generateLongBranch.
Implementing free functions such as emitVload, emitVstore, and doNotOverflow.


  Commit: cee6ba5366037dd687ba573f1b01c8aba5c29109
      https://github.com/dyninst/dyninst/commit/cee6ba5366037dd687ba573f1b01c8aba5c29109
  Author: Benjamin Welton <welton@xxxxxxxxxxx>
  Date:   2018-04-12 (Thu, 12 Apr 2018)

  Changed paths:
    M stackwalk/h/framestepper.h
    M stackwalk/src/framestepper.C
    M stackwalk/src/linuxbsd-x86-swk.C
    M stackwalk/src/sw.h

  Log Message:
  -----------
  New walker to walk out of Instrimentation Frames FP

This patch contains a new walker that can walk out of inst frames in first party stackwalking mode.

For this to work, the emitter fixes located in pull request #451 must be applied. The walker itself creates
a Stackwalker frame based on the information saved by the emitter.


  Commit: 92115c5f421ec83f3b4d9d05a507c018914402b0
      https://github.com/dyninst/dyninst/commit/92115c5f421ec83f3b4d9d05a507c018914402b0
  Author: Sasha Nicolas (arm1) <sasha@xxxxxxxxxxx>
  Date:   2018-04-13 (Fri, 13 Apr 2018)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    A dyninstAPI/src/emit-aarch64.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implementing more instruction generators for div and sub.
Adding emit-aarch64.C to put aarch64 Emitters implementations.


  Commit: bf1f5cc25fc57aea4a4db95a0e5a77458d108219
      https://github.com/dyninst/dyninst/commit/bf1f5cc25fc57aea4a4db95a0e5a77458d108219
  Author: Sasha Nicolas (arm1) <sasha@xxxxxxxxxxx>
  Date:   2018-04-16 (Mon, 16 Apr 2018)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/emit-aarch64.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implementing functions to generate relational instructions,
mainly related to emitRelOp in the arm emitter, conditional branch in instruction class,
and emitV free function.


  Commit: 938491816da991d2389cf26552fff12e164241fe
      https://github.com/dyninst/dyninst/commit/938491816da991d2389cf26552fff12e164241fe
  Author: Sasha Nicolas (arm1) <sasha@xxxxxxxxxxx>
  Date:   2018-04-26 (Thu, 26 Apr 2018)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/emit-aarch64.C
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Adding Equal Operation case for emitImm.
Correcting instruction encoding for ADD and SUB to modify flags register.
Minor fixes.


  Commit: a58103fb2c7c000c87a2c0ce9b1118061067dfde
      https://github.com/dyninst/dyninst/commit/a58103fb2c7c000c87a2c0ce9b1118061067dfde
  Author: Benjamin Welton <welton@xxxxxxxxxxx>
  Date:   2018-05-01 (Tue, 01 May 2018)

  Changed paths:
    M dyninstAPI/src/Relocation/Widgets/InstWidget.C

  Log Message:
  -----------
  Fix for crashing on relocating at unistrumentable points

This fix is to address issue #455. When an unistrimentable point is selected for instrimenation
the behaviour Dyninst will now exhibit is the following:

1. InsertSnippet will return NULL if not in an insertion set and an illegal when parameter is used

2. If in an insertion set, InsertSnippet will return an object to the instrimentation. However when the set
   is closed the insertion of that point will fail. It will either fail and continue to the next point (if
   the insertion set closure is set to continue past errors) or roll back all prior insertions.
.


  Commit: 0f9e2776650813089b8f02743bb90e27b044f269
      https://github.com/dyninst/dyninst/commit/0f9e2776650813089b8f02743bb90e27b044f269
  Author: Sasha Nicolas (arm1) <sasha@xxxxxxxxxxx>
  Date:   2018-05-18 (Fri, 18 May 2018)

  Changed paths:
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/dynProcess.C
    M dyninstAPI/src/emit-aarch64.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-aarch64.h
    M dyninstAPI/src/pcEventMuxer.C
    M dyninstAPI/src/pcEventMuxer.h
    M dyninstAPI_RT/src/RTheap.c
    M proccontrol/src/process.C

  Log Message:
  -----------
  Fixing MOV instruction generation.
Implementing store and restore register functions.
Fixed bug of stack pointer alignment.
emitCall - getting into shape.
emitR - first steps.
Some hard-coded values to be fixed, debug code and printing to be removed later.


  Commit: ad1d2efbb864ca63eac88920891cfa6feaf9752f
      https://github.com/dyninst/dyninst/commit/ad1d2efbb864ca63eac88920891cfa6feaf9752f
  Author: Sasha Nicolas (arm1) <sasha@xxxxxxxxxxx>
  Date:   2018-06-05 (Tue, 05 Jun 2018)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/dynProcess.C
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Fixing save of GPR to verify liveState and not defined registers bitArray.
Fixing alignment of save and restore of FPR for base tramp.
Add assert for SPR save not to have null register.
Fix long branch generate to get a scratch register.
Ssaving X30 for every emitCall.


  Commit: 5a88f21a246d5015c4de326a611239ef362fe34b
      https://github.com/dyninst/dyninst/commit/5a88f21a246d5015c4de326a611239ef362fe34b
  Author: Sasha Nicolas (arm1) <sasha@xxxxxxxxxxx>
  Date:   2018-06-05 (Tue, 05 Jun 2018)

  Changed paths:
    M dyninstAPI/src/Relocation/Springboard.C
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/inst-aarch64.C
    M proccontrol/src/linux.C
    M proccontrol/src/process.C

  Log Message:
  -----------
  Fixing generateAddSubImmediate for ADD and SUB instructions. Wrong bits and wrong opcode were being set.
Fixing generation of save and restore for registers using the SP register. Previous instruction didn't update SP.
Fixing int_process bug in create().


  Commit: bc243bcb9e7a11d15d04d5dc963e73e7535cd559
      https://github.com/dyninst/dyninst/commit/bc243bcb9e7a11d15d04d5dc963e73e7535cd559
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-06-18 (Mon, 18 Jun 2018)

  Changed paths:
    M dataflowAPI/src/ABI.C
    M dataflowAPI/src/RegisterMap.C
    M dataflowAPI/src/liveness.C
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/codegen.C
    M dyninstAPI/src/codegen.h
    M dyninstAPI/src/dynProcess.C
    M dyninstAPI/src/emit-aarch64.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/registerSpace.C
    M dyninstAPI_RT/src/RTheap.c
    M proccontrol/src/linux.C

  Log Message:
  -----------
  Fixing BaseTramp generation and Liveness:

Correcting ABI sets for aarch64;
Adding registers w0-w30 to register map;
Add insert function to codeGen to allow insert at position;
Implementing indexing mode for STR (immediate);
BaseTramp saving/restoring registers using STR (immediate) without pre-calculating offset;
IRPC register space initialized as savedRegSpace.


  Commit: 33ae83a76792294ca4d9cff9e4fe27b5861106c3
      https://github.com/dyninst/dyninst/commit/33ae83a76792294ca4d9cff9e4fe27b5861106c3
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-06-19 (Tue, 19 Jun 2018)

  Changed paths:
    M common/src/arch-aarch64.h
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/emit-aarch64.C
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Fixing generation of arithmetic expressions:

Addition, subtraction, and multiplication works with constant values and values from variables.
Division only works with constant values.


  Commit: eb1dd9d48d5b766ef024a0b50f7d8cf34303d02e
      https://github.com/dyninst/dyninst/commit/eb1dd9d48d5b766ef024a0b50f7d8cf34303d02e
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-06-28 (Thu, 28 Jun 2018)

  Changed paths:
    M dyninstAPI/src/emit-aarch64.C

  Log Message:
  -----------
  Fixing emitLoad() in the Emitter to check the size of bytes to load.
This will make instruction LDR either use w0-w30 or x0-x30 registers.


  Commit: 0d69f7e42189234ca98df5419d63e6093155580b
      https://github.com/dyninst/dyninst/commit/0d69f7e42189234ca98df5419d63e6093155580b
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-07-03 (Tue, 03 Jul 2018)

  Changed paths:
    M dyninstAPI/src/emit-aarch64.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implementing rest of relational operators to make test1_7 pass.

test1_7 tests less than, equal to, greater than, less than or equal to,
greater than or equal to, not equal, AND, and OR operators, both using
constant values or variables.


  Commit: 6a71517fb076390ef2c00b4df1dbc5b0607bb5fe
      https://github.com/dyninst/dyninst/commit/6a71517fb076390ef2c00b4df1dbc5b0607bb5fe
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-07-23 (Mon, 23 Jul 2018)

  Changed paths:
    M dataflowAPI/src/ABI.C
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-aarch64.h

  Log Message:
  -----------
  Fixing BaseTramp to save registers as it's done with PowerPC.

Now the BaseTramp reserves a fixed amount of memory for each stack frame,
and the registers are always saved in the same position, in order to be retrieved
if necessary for some functionality such as BPatch_paramExpr.

Test1_13 now passes after this modification.


  Commit: a0d86964dc79ababe80beef0a75fc799fdbced75
      https://github.com/dyninst/dyninst/commit/a0d86964dc79ababe80beef0a75fc799fdbced75
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-07-25 (Wed, 25 Jul 2018)

  Changed paths:
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Removing extra implementation of save/restore register.
The goal is to eliminate fully EmitterAARCH64SaveRegs and EmitterAARCH64RestoreRegs,
but they are still being used at other parts.
This commit removes from these classes the function to save and restore register
and adapts insnCodeGen to do the work.


  Commit: 3ac8e081b241d39b34016aa32a6dc4032e702bd4
      https://github.com/dyninst/dyninst/commit/3ac8e081b241d39b34016aa32a6dc4032e702bd4
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-09-20 (Thu, 20 Sep 2018)

  Changed paths:
    M CMakeLists.txt
    M cmake/packages.cmake
    M cmake/shared.cmake
    M common/h/IBSTree.h
    M common/h/dyn_regs.h
    M common/h/dyntypes.h
    M common/h/entryIDs.h
    M common/src/addrtranslate-sysv.C
    M common/src/arch-aarch64.C
    M common/src/arch-power.C
    M common/src/arch-power.h
    M common/src/dyn_regs.C
    M common/src/freebsdHeaders.h
    M common/src/linuxHeaders.h
    M common/src/ntHeaders.h
    M common/src/vxworksHeaders.h
    M dataflowAPI/rose/semantics/DispatcherPowerpc.C
    M dataflowAPI/rose/x86_64InstructionSemantics.h
    M dataflowAPI/src/liveness.C
    M dwarf/src/dwarfFrameParser.C
    M dwarf/src/dwarfHandle.C
    M dyninstAPI/h/BPatch_snippet.h
    M dyninstAPI/src/BPatch_loopTreeNode.C
    M dyninstAPI/src/BPatch_point.C
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M dyninstAPI/src/Relocation/CFG/RelocBlock.h
    M dyninstAPI/src/Relocation/CFG/RelocGraph.C
    M dyninstAPI/src/Relocation/CFG/RelocGraph.h
    M dyninstAPI/src/Relocation/CodeMover.C
    M dyninstAPI/src/Relocation/Springboard.C
    M dyninstAPI/src/Relocation/Transformers/Instrumenter.C
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/block.C
    M dyninstAPI/src/block.h
    M dyninstAPI/src/codegen-power.C
    M dyninstAPI/src/codegen-power.h
    M dyninstAPI/src/emit-power.h
    M dyninstAPI/src/function.C
    M dyninstAPI/src/function.h
    M dyninstAPI/src/image.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/inst-power.h
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/mapped_object.C
    M dyninstAPI/src/opcode.h
    M dyninstAPI/src/parse-cfg.C
    M dyninstAPI/src/parse-cfg.h
    M dyninstAPI/src/syscallNotification.C
    M dyninstAPI/src/unix.C
    M elf/h/Elf_X.h
    M elf/src/Elf_X.C
    A examples/CMakeLists.txt
    A examples/codeCoverage/Makefile.afs
    A examples/codeCoverage/README
    A examples/codeCoverage/README.staticdist
    A examples/codeCoverage/codeCoverage.C
    A examples/codeCoverage/libInst.C
    A examples/codeCoverage/libInst.h
    A examples/codeCoverage/libtestcc.c
    A examples/codeCoverage/libtestcc.h
    A examples/codeCoverage/package.bash
    A examples/codeCoverage/testcc.c
    A examples/unstrip/Makefile.afs
    A examples/unstrip/README
    A examples/unstrip/callback.C
    A examples/unstrip/callback.h
    A examples/unstrip/database.C
    A examples/unstrip/database.h
    A examples/unstrip/ddb.db
    A examples/unstrip/fingerprint.C
    A examples/unstrip/fingerprint.h
    A examples/unstrip/foo.c
    A examples/unstrip/foo.sh
    A examples/unstrip/generate-learn-binary.bash
    A examples/unstrip/package.bash
    A examples/unstrip/params.db
    A examples/unstrip/predicates.h
    A examples/unstrip/semanticDescriptor.C
    A examples/unstrip/semanticDescriptor.h
    A examples/unstrip/test.c
    A examples/unstrip/types.C
    A examples/unstrip/types.h
    A examples/unstrip/unistd.db
    A examples/unstrip/unstrip.C
    A examples/unstrip/util.C
    A examples/unstrip/util.h
    M instructionAPI/h/InstructionCategories.h
    M instructionAPI/h/Operation.h
    M instructionAPI/h/Result.h
    M instructionAPI/src/Expression.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h
    M instructionAPI/src/InstructionDecoder-x86.C
    M instructionAPI/src/Operation.C
    M instructionAPI/src/power_opcode_tables.C
    M parseAPI/src/Block.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/Function.C
    M parseAPI/src/LoopAnalyzer.C
    M parseAPI/src/Parser.C
    M parseAPI/src/SymbolicExpression.C
    M parseAPI/src/SymtabCodeSource.C
    M patchAPI/CMakeLists.txt
    M proccontrol/src/process.C
    M stackwalk/CMakeLists.txt
    M symtabAPI/CMakeLists.txt
    M symtabAPI/h/LineInformation.h
    M symtabAPI/h/Module.h
    M symtabAPI/h/StringTable.h
    M symtabAPI/h/Symtab.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/Symtab.C
    M symtabAPI/src/Variable.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h
    M symtabAPI/src/emitElf.C

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


  Commit: 0c3eb945180d2643858a4b303343356a10f07075
      https://github.com/dyninst/dyninst/commit/0c3eb945180d2643858a4b303343356a10f07075
  Author: Sasha Nicolas <sasha@xxxxxxxxxxx>
  Date:   2018-09-24 (Mon, 24 Sep 2018)

  Changed paths:
    M dwarf/h/dwarfFrameParser.h
    M dwarf/src/dwarfFrameParser.C
    M dwarf/src/dwarfHandle.C
    M dwarf/src/dwarfResult.C
    M stackwalk/src/dbginfo-stepper.C
    M symtabAPI/src/Function.C
    M symtabAPI/src/Object-elf.C

  Log Message:
  -----------
  Separate debug info file issue fixed.
A DwarfFrameParser object was not being created in the case of separate
debug info file, because libdw does not create Dwarf handles to files
that contain only .eh_frame section without .debug_*. This was causing
AST variable node to assert because the local variables did not get
location list, since .eh_frame reference was never saved for lookup.
The solution was to create a DwarfFrameParser saving not only a possible
Dwarf handle but also an Elf reference, since the .eh_frame section will
be in the main stripped binary, while the Dwarf handle will point to
the separate debug file.


  Commit: 93e7cd171f00ef23768b7c16c6f50930d51295ec
      https://github.com/dyninst/dyninst/commit/93e7cd171f00ef23768b7c16c6f50930d51295ec
  Author: Sasha @poman <sasha@xxxxxxxxxxx>
  Date:   2018-09-28 (Fri, 28 Sep 2018)

  Changed paths:
    M common/src/arch-power.h
    M dyninstAPI/src/inst-power.C

  Log Message:
  -----------
  Implementing BPatch_xor for POWER.


  Commit: a8c572a7eca18ec09fc3eba609135170248314bf
      https://github.com/dyninst/dyninst/commit/a8c572a7eca18ec09fc3eba609135170248314bf
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-09-28 (Fri, 28 Sep 2018)

  Changed paths:
    M dyninstAPI/src/emit-aarch64.C
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Implementing BPatch_xor for ARMv8.


  Commit: d830b0645852727ab59909d110ebf24c6a29056b
      https://github.com/dyninst/dyninst/commit/d830b0645852727ab59909d110ebf24c6a29056b
  Author: Benjamin Welton <welton@xxxxxxxxxxx>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M dyninstAPI/src/Relocation/Widgets/InstWidget.C

  Log Message:
  -----------
  Merge pull request #460 from bwelton/inst_fix

Fix for crashing on relocating at unistrumentable points. Fix checks whether a parameter is NULL or not, if it is NULL it does not perform the instrumentation.


  Commit: 69d17b17f427e39f84317cffdf095aa5c0e98f1e
      https://github.com/dyninst/dyninst/commit/69d17b17f427e39f84317cffdf095aa5c0e98f1e
  Author: Benjamin Welton <welton@xxxxxxxxxxx>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M stackwalk/h/framestepper.h
    M stackwalk/src/framestepper.C
    M stackwalk/src/linuxbsd-x86-swk.C
    M stackwalk/src/sw.h

  Log Message:
  -----------
  Merge pull request #452 from bwelton/sw_instFrameWalker

New walker to walk out of Instrumentation Frames first party. Build and test suite passes (x64, ubuntu)


  Commit: cc769c889488c0ff5787561563fefa9df4ac0284
      https://github.com/dyninst/dyninst/commit/cc769c889488c0ff5787561563fefa9df4ac0284
  Author: Benjamin Welton <welton@xxxxxxxxxxx>
  Date:   2018-10-03 (Wed, 03 Oct 2018)

  Changed paths:
    M stackwalk/h/framestepper.h
    M stackwalk/src/framestepper.C
    M stackwalk/src/linuxbsd-x86-swk.C
    M stackwalk/src/sw.h

  Log Message:
  -----------
  New walker to walk out of Instrimentation Frames FP

This patch contains a new walker that can walk out of inst frames in first party stackwalking mode.

For this to work, the emitter fixes located in pull request #451 must be applied. The walker itself creates
a Stackwalker frame based on the information saved by the emitter.


  Commit: 5f5358637619cf6b964cffc12e6d76f673ec5be6
      https://github.com/dyninst/dyninst/commit/5f5358637619cf6b964cffc12e6d76f673ec5be6
  Author: Benjamin Welton <welton@xxxxxxxxxxx>
  Date:   2018-10-03 (Wed, 03 Oct 2018)

  Changed paths:
    M dyninstAPI/src/emit-x86.C

  Log Message:
  -----------
  Modification to x86 emitter to support SW out of inst frames.

This patch contains changes to the emitter to support first party stackwalking out of inst's frames. For inst frames to be walkable, instrimentation frames must be enabled.

The following changes were made to support this:

- Insertion of the previous SP into the stack at a known location (2 slots above the FP).
- Insertion of a special word into the stack such that stackwalker can easily identify that this frame is an inst frame (and to select the correct walker). BEEFDEAD is located at +1 slot away from FP.
- The poping of these values from the stack at frame teardown.
- Fixes to the emitter to use scratch registers where hard coded ones were present before.

Total performance impact of this patch is an extra 5 instruction. 3 on frame creation, 2 on destruction.


  Commit: bc9c02d877bfb5a4d0e26d903d57d3cf4be77989
      https://github.com/dyninst/dyninst/commit/bc9c02d877bfb5a4d0e26d903d57d3cf4be77989
  Author: Benjamin Welton <welton@xxxxxxxxxxx>
  Date:   2018-10-03 (Wed, 03 Oct 2018)

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


  Commit: 0f43b5e415b68b33146c06b719eefe7ae91a75ca
      https://github.com/dyninst/dyninst/commit/0f43b5e415b68b33146c06b719eefe7ae91a75ca
  Author: Benjamin Welton <welton@xxxxxxxxxxx>
  Date:   2018-10-04 (Thu, 04 Oct 2018)

  Changed paths:
    M stackwalk/src/framestepper.C

  Log Message:
  -----------
  Minor fixes to FP Stack Unwinding through Inst Frames

Minor fixes to stack unwinding through instrimentation (applies to First Party stackwalker only).

Added additional comments to the walker to detail how it functions more clearly and what it is looking for to
accept a stack frame.


  Commit: 9f1bff5cd724a182df4a51cddde90ed965e047cb
      https://github.com/dyninst/dyninst/commit/9f1bff5cd724a182df4a51cddde90ed965e047cb
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-10-05 (Fri, 05 Oct 2018)

  Changed paths:
    M dyninstAPI/src/baseTramp.C

  Log Message:
  -----------
  Fixing update of defined registers after baseTramp is generated.

During generation of the baseTramp, registers are marked as defined
in the codeGen object, and after that we need to get this info in
order to verify whether we should perform optimizations or regenerate
the baseTramp.


  Commit: 05cc087cf5adb3c5e96f47f6d47c75f7182917e1
      https://github.com/dyninst/dyninst/commit/05cc087cf5adb3c5e96f47f6d47c75f7182917e1
  Author: Sasha Nicolas <sasha@xxxxxxxxxxx>
  Date:   2018-10-05 (Fri, 05 Oct 2018)

  Changed paths:
    M common/src/arch-power.h
    M dwarf/h/dwarfFrameParser.h
    M dwarf/src/dwarfFrameParser.C
    M dwarf/src/dwarfHandle.C
    M dwarf/src/dwarfResult.C
    M dyninstAPI/src/Relocation/Widgets/InstWidget.C
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/inst-power.C
    M stackwalk/h/framestepper.h
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/framestepper.C
    M stackwalk/src/linuxbsd-x86-swk.C
    M stackwalk/src/sw.h
    M symtabAPI/src/Function.C
    M symtabAPI/src/Object-elf.C

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


  Commit: 77d417fe0b28f185418d444fb796f9e76b0c45a7
      https://github.com/dyninst/dyninst/commit/77d417fe0b28f185418d444fb796f9e76b0c45a7
  Author: Sasha @poman <sasha@xxxxxxxxxxx>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

  Changed paths:
    M dyninstAPI/src/codegen-power.C

  Log Message:
  -----------
  Removing function defition without declaration.


  Commit: f3756bd2c1fd89c157cbf8b55c2f40b893d24f0f
      https://github.com/dyninst/dyninst/commit/f3756bd2c1fd89c157cbf8b55c2f40b893d24f0f
  Author: melsabagh-kw <35231639+melsabagh-kw@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2018-10-17 (Wed, 17 Oct 2018)

  Changed paths:
    M dataflowAPI/src/ABI.C

  Log Message:
  -----------
  Update ABI.C

ebx is callee-saved and should not be set in `callWritten_`.
(cherry picked from commit 6537dafa476375bbfbaa3b0149cc4d27b59b80f7)


  Commit: 1d7826aedb12a9a641cbedcb67774867be38b821
      https://github.com/dyninst/dyninst/commit/1d7826aedb12a9a641cbedcb67774867be38b821
  Author: Sasha Nicolas <sasha@xxxxxxxxxxx>
  Date:   2018-10-17 (Wed, 17 Oct 2018)

  Changed paths:
    M proccontrol/src/linux.C

  Log Message:
  -----------
  Fixing regression in some tests caused by misplaced directive.


  Commit: 46f62ddd05d60352499ec51049b0059c54f799b8
      https://github.com/dyninst/dyninst/commit/46f62ddd05d60352499ec51049b0059c54f799b8
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-21 (Sun, 21 Oct 2018)

  Changed paths:
    M common/src/arch-aarch64.h
    M common/src/arch-power.h
    M dataflowAPI/rose/semantics/DispatcherARM64.C
    M dataflowAPI/src/ABI.C
    M dataflowAPI/src/RegisterMap.C
    M dataflowAPI/src/RegisterMap.h
    M dataflowAPI/src/liveness.C
    M dwarf/h/dwarfFrameParser.h
    M dwarf/src/dwarfFrameParser.C
    M dwarf/src/dwarfHandle.C
    M dwarf/src/dwarfResult.C
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/src/Relocation/Springboard.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-aarch64.C
    M dyninstAPI/src/Relocation/Widgets/InstWidget.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.C
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.h
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/baseTramp.C
    M dyninstAPI/src/codegen-aarch64.C
    M dyninstAPI/src/codegen-aarch64.h
    M dyninstAPI/src/codegen-power.C
    M dyninstAPI/src/codegen-power.h
    M dyninstAPI/src/codegen-x86.h
    M dyninstAPI/src/codegen.C
    M dyninstAPI/src/codegen.h
    M dyninstAPI/src/dynProcess.C
    A dyninstAPI/src/emit-aarch64.C
    M dyninstAPI/src/emit-aarch64.h
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-aarch64.h
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/linux.C
    M dyninstAPI/src/parse-aarch64.C
    M dyninstAPI/src/pcEventMuxer.C
    M dyninstAPI/src/pcEventMuxer.h
    M dyninstAPI/src/registerSpace.C
    M dyninstAPI/src/registerSpace.h
    M dyninstAPI/src/stackwalk-aarch64.C
    M dyninstAPI/src/unix.C
    M dyninstAPI_RT/src/RTcommon.c
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M parseAPI/src/SymtabCodeSource.C
    M proccontrol/src/linux.C
    M proccontrol/src/process.C
    M stackwalk/h/framestepper.h
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/framestepper.C
    M stackwalk/src/linuxbsd-x86-swk.C
    M stackwalk/src/sw.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Function.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElf.h
    M symtabAPI/src/emitElfStatic.C
    M symtabAPI/src/relocationEntry-elf-aarch64.C
    M symtabAPI/src/relocationEntry-elf-x86.C

  Log Message:
  -----------
  Merge branch 'master' into new-parallel-parsing


Compare: https://github.com/dyninst/dyninst/compare/b89bee208fba...46f62ddd05d6
      **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.
[← Prev in Thread] Current Thread [Next in Thread→]