[DynInst_API:] [dyninst/dyninst] bab542: Start to split jump table analysis to two differen...


Date: Mon, 05 Nov 2018 14:17:42 -0800
From: "Sasha @leela" <sasha@xxxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] bab542: Start to split jump table analysis to two differen...
  Branch: refs/heads/ARMv8
  Home:   https://github.com/dyninst/dyninst
  Commit: bab542b4d47e8b1d1c5b374065bda24309ba58d0
      https://github.com/dyninst/dyninst/commit/bab542b4d47e8b1d1c5b374065bda24309ba58d0
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M common/h/Graph.h
    M common/src/Graph.C
    M dataflowAPI/h/slicing.h
    M dataflowAPI/src/slicing.C
    M parseAPI/CMakeLists.txt
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/IndirectAnalyzer.C
    A parseAPI/src/JumpTableFormatPred.C
    A parseAPI/src/JumpTableFormatPred.h
    M parseAPI/src/JumpTablePred.C
    A parseAPI/src/SymbolicExpression.C
    A parseAPI/src/SymbolicExpression.h

  Log Message:
  -----------
  Start to split jump table analysis to two different slices.
1. Jump table format slice. This commit contains its initial implementation
2. Jump table index slice. To be done


  Commit: 556bc2b3a01bcd4f8400def6444a3451e3277589
      https://github.com/dyninst/dyninst/commit/556bc2b3a01bcd4f8400def6444a3451e3277589
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-05-10 (Wed, 10 May 2017)

  Changed paths:
    M CMakeLists.txt
    A cmake/Modules/FindCilk.cmake
    M cmake/Modules/FindLibDwarf.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake
    M common/CMakeLists.txt
    M common/h/IBSTree-fast.h
    M common/h/IBSTree.h
    M common/h/util.h
    M common/src/arch-x86.C
    M common/src/arch-x86.h
    M common/src/dthread.C
    M common/src/dthread.h
    M common/src/singleton_object_pool.h
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/slicing.C
    M dyninstAPI/h/BPatch_snippet.h
    M dyninstAPI/src/BPatch_memoryAccessAdapter.C
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-x86.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.C
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.C
    M dyninstAPI/src/Relocation/Widgets/StackModWidget.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/image.C
    M instructionAPI/CMakeLists.txt
    M instructionAPI/src/InstructionDecoder-x86.C
    M instructionAPI/src/InstructionDecoder-x86.h
    M instructionAPI/src/InstructionDecoderImpl.C
    M instructionAPI/src/InstructionDecoderImpl.h
    M parseAPI/CMakeLists.txt
    M parseAPI/h/CFG.h
    M parseAPI/h/CFGFactory.h
    M parseAPI/h/InstructionAdapter.h
    M parseAPI/src/Block.C
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/Function.C
    M parseAPI/src/IA_IAPI.h
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.h
    M patchAPI/CMakeLists.txt
    M stackwalk/CMakeLists.txt
    M symtabAPI/src/LineInformation.C

  Log Message:
  -----------
  WIP towards parallel parsing


  Commit: 39683879626ae6b090243af1ff730927b7b2cf4b
      https://github.com/dyninst/dyninst/commit/39683879626ae6b090243af1ff730927b7b2cf4b
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M dataflowAPI/h/slicing.h
    M parseAPI/CMakeLists.txt
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactCalculator.h
    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/IndirectAnalyzer.h
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableFormatPred.h
    A parseAPI/src/JumpTableIndexPred.C
    A parseAPI/src/JumpTableIndexPred.h
    R parseAPI/src/JumpTablePred.C
    R parseAPI/src/JumpTablePred.h

  Log Message:
  -----------
  Initial implementation of jump table index slice. Basically reusing lots of code of from class JumpTablePred.
As we only track value bound for the index variable, we only need struct StridedInterval and there is no need for struct BoundValue.


  Commit: 3310af625c5f7432980e39a2be2ae6524d5517a0
      https://github.com/dyninst/dyninst/commit/3310af625c5f7432980e39a2be2ae6524d5517a0
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2017-05-14 (Sun, 14 May 2017)

  Changed paths:
    M dataflowAPI/src/slicing.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/IndirectAnalyzer.h
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableFormatPred.h

  Log Message:
  -----------
  1. Refactor code of reading contents from jump tables and determining jump target by visiting the jump target AST.
2. Currently when backward slicing, a absloc that is written by call defined by abi will be killed, however, caller saved registers can/should survive


  Commit: aeaf6135d25a08a62f0daa526281b8c63e057966
      https://github.com/dyninst/dyninst/commit/aeaf6135d25a08a62f0daa526281b8c63e057966
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2017-05-15 (Mon, 15 May 2017)

  Changed paths:
    M parseAPI/src/IndirectAnalyzer.C

  Log Message:
  -----------
  Perform table scan when the jump table index bound is unknown


  Commit: 8442f1ace5c1f3184d3afb3feecd6989f9e97129
      https://github.com/dyninst/dyninst/commit/8442f1ace5c1f3184d3afb3feecd6989f9e97129
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2017-05-17 (Wed, 17 May 2017)

  Changed paths:
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableFormatPred.h

  Log Message:
  -----------
  Fix indirect jumps in variable argument functions, where there is no memory read


  Commit: a38bacc5a028edcf0133a85b61447314a3d50ee1
      https://github.com/dyninst/dyninst/commit/a38bacc5a028edcf0133a85b61447314a3d50ee1
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-05-17 (Wed, 17 May 2017)

  Changed paths:
    R LGPL
    A LICENSE.md
    M cmake/packages.cmake
    M common/h/Graph.h
    M common/src/Graph.C
    A common/src/LockTraits.h
    M dataflowAPI/h/ABI.h
    M dataflowAPI/h/slicing.h
    M dataflowAPI/h/stackanalysis.h
    M dataflowAPI/src/ABI.C
    M dataflowAPI/src/slicing.C
    M dataflowAPI/src/stackanalysis.C
    M dyninstAPI/src/BPatch_object.C
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M dyninstAPI/src/Relocation/CFG/RelocGraph.C
    M dyninstAPI/src/Relocation/CodeBuffer.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.h
    M dyninstAPI/src/StackMod/StackAccess.C
    M dyninstAPI/src/StackMod/StackAccess.h
    M dyninstAPI/src/StackMod/StackModChecker.C
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/function.C
    M dyninstAPI/src/function.h
    M parseAPI/CMakeLists.txt
    M parseAPI/h/CFG.h
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactCalculator.h
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/BoundFactData.h
    M parseAPI/src/Function.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/IndirectAnalyzer.h
    A parseAPI/src/JumpTableFormatPred.C
    A parseAPI/src/JumpTableFormatPred.h
    A parseAPI/src/JumpTableIndexPred.C
    A parseAPI/src/JumpTableIndexPred.h
    R parseAPI/src/JumpTablePred.C
    R parseAPI/src/JumpTablePred.h
    M parseAPI/src/Parser.C
    M parseAPI/src/ParserDetails.h
    A parseAPI/src/SymbolicExpression.C
    A parseAPI/src/SymbolicExpression.h

  Log Message:
  -----------
  Merge branch 'jump_table_multi_slices' of https://github.com/mxz297/dyninst into new-parallel-parsing

# Conflicts:
#	dyninstAPI/src/Relocation/CFG/RelocBlock.C
#	dyninstAPI/src/Relocation/Transformers/Movement-analysis.C


  Commit: cec8fc87b895cf10ae2a2c343bc9e1ec318c1d9c
      https://github.com/dyninst/dyninst/commit/cec8fc87b895cf10ae2a2c343bc9e1ec318c1d9c
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-05-17 (Wed, 17 May 2017)

  Changed paths:
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableFormatPred.h

  Log Message:
  -----------
  Merge branch 'jump_table_multi_slices' of https://github.com/mxz297/dyninst into new-parallel-parsing


  Commit: 24f7a40d8f2735012e3619d626adf9c8dd392710
      https://github.com/dyninst/dyninst/commit/24f7a40d8f2735012e3619d626adf9c8dd392710
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-07-10 (Mon, 10 Jul 2017)

  Changed paths:
    M common/src/string-regex.C
    M dataflowAPI/src/liveness.C
    M dataflowAPI/src/slicing.C
    M dataflowAPI/src/stackanalysis.C
    M instructionAPI/src/InstructionDecoderImpl.C
    M parseAPI/h/CFG.h
    M parseAPI/h/CodeSource.h
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/Function.C
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IA_x86Details.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/JumpTableIndexPred.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C
    M parseAPI/src/ParserDetails.h
    M parseAPI/src/SymtabCodeSource.C
    M parseAPI/src/ThunkData.C

  Log Message:
  -----------
  Clean up a bunch of data races reported by Cilkscreen and add per-block locks (probably bad for space, but we'll do the big redesign if we need it).


  Commit: a462fa1f9b01466830e8c025b669c21eef84ccbb
      https://github.com/dyninst/dyninst/commit/a462fa1f9b01466830e8c025b669c21eef84ccbb
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-07-12 (Wed, 12 Jul 2017)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/h/ParseCallback.h
    M parseAPI/src/ParseCallback.C
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Added extra block locks to remove some more data races; added callback and method to allow renaming of functions that would by default be "targXXX"


  Commit: 8ed1ed3a7d75ce3fbc3f502c9ee5d23d22032a04
      https://github.com/dyninst/dyninst/commit/8ed1ed3a7d75ce3fbc3f502c9ee5d23d22032a04
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-07-20 (Thu, 20 Jul 2017)

  Changed paths:
    M symtabAPI/src/LineInformation.C
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  Fix lookup for address ranges from file/line


  Commit: 3275adce9bedbb34128a7e73b5d3a4e1c32d21e0
      https://github.com/dyninst/dyninst/commit/3275adce9bedbb34128a7e73b5d3a4e1c32d21e0
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-07-28 (Fri, 28 Jul 2017)

  Changed paths:
    M symtabAPI/src/LineInformation.C
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  Fix and clean up line info lookups by source location


  Commit: c5d853fc4aca129560fc79d627dca7a76c6a8d95
      https://github.com/dyninst/dyninst/commit/c5d853fc4aca129560fc79d627dca7a76c6a8d95
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-08-04 (Fri, 04 Aug 2017)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/src/Block.C
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/ParseCallback.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Object-nt.h

  Log Message:
  -----------
  Checkpointing for integration tests


  Commit: dc335d015f3dfbdbf2fff73bd3b2e0d71648c849
      https://github.com/dyninst/dyninst/commit/dc335d015f3dfbdbf2fff73bd3b2e0d71648c849
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-08-09 (Wed, 09 Aug 2017)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/src/ParseData.h

  Log Message:
  -----------
  Make dual locks atomic


  Commit: b00c212fcaf929e0667660e65bdb7da3c3ffcf3a
      https://github.com/dyninst/dyninst/commit/b00c212fcaf929e0667660e65bdb7da3c3ffcf3a
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-08-16 (Wed, 16 Aug 2017)

  Changed paths:
    M dyninstAPI/src/parse-cfg.h
    M parseAPI/h/CFG.h
    M parseAPI/h/CodeObject.h
    M parseAPI/src/Block.C
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  Refactor to look up target blocks via parse data and remove block-level locks associated with that lookup.


  Commit: f9a3e410d1898e6b0255245ec31622912c4e1ce4
      https://github.com/dyninst/dyninst/commit/f9a3e410d1898e6b0255245ec31622912c4e1ce4
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-08-22 (Tue, 22 Aug 2017)

  Changed paths:
    M .gitignore
    A common/docs/decoding_diagram.png
    A common/docs/rose_structure.png
    M common/h/dyn_regs.h
    M common/h/entryIDs.h
    M common/src/arch-x86.C
    M common/src/arch-x86.h
    M common/src/dyn_regs.C
    M dataflowAPI/doc/StackAnalysis.tex
    M dataflowAPI/doc/dataflowAPI.pdf
    M dataflowAPI/h/slicing.h
    M dataflowAPI/h/stackanalysis.h
    R dataflowAPI/rose/powerpcInstructionSemantics.h
    M dataflowAPI/rose/semantics/DispatcherARM64.C
    M dataflowAPI/rose/semantics/DispatcherARM64.h
    A dataflowAPI/rose/semantics/DispatcherPowerpc.C
    A dataflowAPI/rose/semantics/DispatcherPowerpc.h
    M dataflowAPI/rose/semantics/Registers.C
    M dataflowAPI/rose/semantics/Registers.h
    M dataflowAPI/rose/semantics/SymEvalSemantics.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.h
    M dataflowAPI/rose/util/PoolAllocator.h
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/RoseImpl.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/SymEval.C
    M dataflowAPI/src/SymbolicExpansion.C
    M dataflowAPI/src/SymbolicExpansion.h
    M dataflowAPI/src/convertOpcodes.C
    M dataflowAPI/src/liveness.C
    M dataflowAPI/src/slicing.C
    M dataflowAPI/src/stackanalysis.C
    M dyninstAPI/h/StackMod.h
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/StackMod/StackAccess.C
    M dyninstAPI/src/inst-x86.C
    M external/rose/powerpcInstructionEnum.h
    M instructionAPI/CMakeLists.txt
    A instructionAPI/ISA_ps/abs_advsimd
    A instructionAPI/ISA_ps/adc
    A instructionAPI/ISA_ps/adcs
    A instructionAPI/ISA_ps/add_addsub_ext
    A instructionAPI/ISA_ps/add_addsub_imm
    A instructionAPI/ISA_ps/add_addsub_shift
    A instructionAPI/ISA_ps/add_advsimd
    A instructionAPI/ISA_ps/addhn_advsimd
    A instructionAPI/ISA_ps/addp_advsimd_pair
    A instructionAPI/ISA_ps/addp_advsimd_vec
    A instructionAPI/ISA_ps/adds_addsub_ext
    A instructionAPI/ISA_ps/adds_addsub_imm
    A instructionAPI/ISA_ps/adds_addsub_shift
    A instructionAPI/ISA_ps/addv_advsimd
    A instructionAPI/ISA_ps/adr
    A instructionAPI/ISA_ps/adrp
    A instructionAPI/ISA_ps/aesd_advsimd
    A instructionAPI/ISA_ps/aese_advsimd
    A instructionAPI/ISA_ps/aesimc_advsimd
    A instructionAPI/ISA_ps/aesmc_advsimd
    A instructionAPI/ISA_ps/and_advsimd
    A instructionAPI/ISA_ps/and_log_imm
    A instructionAPI/ISA_ps/and_log_shift
    A instructionAPI/ISA_ps/ands_log_imm
    A instructionAPI/ISA_ps/ands_log_shift
    A instructionAPI/ISA_ps/asr_asrv
    A instructionAPI/ISA_ps/asr_sbfm
    A instructionAPI/ISA_ps/asrv
    A instructionAPI/ISA_ps/at_sys
    A instructionAPI/ISA_ps/b_cond
    A instructionAPI/ISA_ps/b_uncond
    A instructionAPI/ISA_ps/bfi_bfm
    A instructionAPI/ISA_ps/bfm
    A instructionAPI/ISA_ps/bfxil_bfm
    A instructionAPI/ISA_ps/bic_advsimd_imm
    A instructionAPI/ISA_ps/bic_advsimd_reg
    A instructionAPI/ISA_ps/bic_log_shift
    A instructionAPI/ISA_ps/bics
    A instructionAPI/ISA_ps/bif_advsimd
    A instructionAPI/ISA_ps/bit_advsimd
    A instructionAPI/ISA_ps/bl
    A instructionAPI/ISA_ps/blr
    A instructionAPI/ISA_ps/br
    A instructionAPI/ISA_ps/brk
    A instructionAPI/ISA_ps/bsl_advsimd
    A instructionAPI/ISA_ps/cbnz
    A instructionAPI/ISA_ps/cbz
    A instructionAPI/ISA_ps/ccmn_imm
    A instructionAPI/ISA_ps/ccmn_reg
    A instructionAPI/ISA_ps/ccmp_imm
    A instructionAPI/ISA_ps/ccmp_reg
    A instructionAPI/ISA_ps/cinc_csinc
    A instructionAPI/ISA_ps/cinv_csinv
    A instructionAPI/ISA_ps/clrex
    A instructionAPI/ISA_ps/cls_advsimd
    A instructionAPI/ISA_ps/cls_int
    A instructionAPI/ISA_ps/clz_advsimd
    A instructionAPI/ISA_ps/clz_int
    A instructionAPI/ISA_ps/cmeq_advsimd_reg
    A instructionAPI/ISA_ps/cmeq_advsimd_zero
    A instructionAPI/ISA_ps/cmge_advsimd_reg
    A instructionAPI/ISA_ps/cmge_advsimd_zero
    A instructionAPI/ISA_ps/cmgt_advsimd_reg
    A instructionAPI/ISA_ps/cmgt_advsimd_zero
    A instructionAPI/ISA_ps/cmhi_advsimd
    A instructionAPI/ISA_ps/cmhs_advsimd
    A instructionAPI/ISA_ps/cmle_advsimd
    A instructionAPI/ISA_ps/cmlt_advsimd
    A instructionAPI/ISA_ps/cmn_adds_addsub_ext
    A instructionAPI/ISA_ps/cmn_adds_addsub_imm
    A instructionAPI/ISA_ps/cmn_adds_addsub_shift
    A instructionAPI/ISA_ps/cmp_subs_addsub_ext
    A instructionAPI/ISA_ps/cmp_subs_addsub_imm
    A instructionAPI/ISA_ps/cmp_subs_addsub_shift
    A instructionAPI/ISA_ps/cmtst_advsimd
    A instructionAPI/ISA_ps/cneg_csneg
    A instructionAPI/ISA_ps/cnt_advsimd
    A instructionAPI/ISA_ps/crc32
    A instructionAPI/ISA_ps/crc32c
    A instructionAPI/ISA_ps/csel
    A instructionAPI/ISA_ps/cset_csinc
    A instructionAPI/ISA_ps/csetm_csinv
    A instructionAPI/ISA_ps/csinc
    A instructionAPI/ISA_ps/csinv
    A instructionAPI/ISA_ps/csneg
    A instructionAPI/ISA_ps/dc_sys
    A instructionAPI/ISA_ps/dcps1
    A instructionAPI/ISA_ps/dcps2
    A instructionAPI/ISA_ps/dcps3
    A instructionAPI/ISA_ps/dmb
    A instructionAPI/ISA_ps/drps
    A instructionAPI/ISA_ps/dsb
    A instructionAPI/ISA_ps/dup_advsimd_elt
    A instructionAPI/ISA_ps/dup_advsimd_gen
    A instructionAPI/ISA_ps/encodingindex
    A instructionAPI/ISA_ps/enumerated-symbol-accounts
    A instructionAPI/ISA_ps/eon
    A instructionAPI/ISA_ps/eor_advsimd
    A instructionAPI/ISA_ps/eor_log_imm
    A instructionAPI/ISA_ps/eor_log_shift
    A instructionAPI/ISA_ps/eret
    A instructionAPI/ISA_ps/ext_advsimd
    A instructionAPI/ISA_ps/extr
    A instructionAPI/ISA_ps/fabd_advsimd
    A instructionAPI/ISA_ps/fabs_advsimd
    A instructionAPI/ISA_ps/fabs_float
    A instructionAPI/ISA_ps/facge_advsimd
    A instructionAPI/ISA_ps/facgt_advsimd
    A instructionAPI/ISA_ps/fadd_advsimd
    A instructionAPI/ISA_ps/fadd_float
    A instructionAPI/ISA_ps/faddp_advsimd_pair
    A instructionAPI/ISA_ps/faddp_advsimd_vec
    A instructionAPI/ISA_ps/fccmp_float
    A instructionAPI/ISA_ps/fccmpe_float
    A instructionAPI/ISA_ps/fcmeq_advsimd_reg
    A instructionAPI/ISA_ps/fcmeq_advsimd_zero
    A instructionAPI/ISA_ps/fcmge_advsimd_reg
    A instructionAPI/ISA_ps/fcmge_advsimd_zero
    A instructionAPI/ISA_ps/fcmgt_advsimd_reg
    A instructionAPI/ISA_ps/fcmgt_advsimd_zero
    A instructionAPI/ISA_ps/fcmle_advsimd
    A instructionAPI/ISA_ps/fcmlt_advsimd
    A instructionAPI/ISA_ps/fcmp_float
    A instructionAPI/ISA_ps/fcmpe_float
    A instructionAPI/ISA_ps/fcsel_float
    A instructionAPI/ISA_ps/fcvt_float
    A instructionAPI/ISA_ps/fcvtas_advsimd
    A instructionAPI/ISA_ps/fcvtas_float
    A instructionAPI/ISA_ps/fcvtau_advsimd
    A instructionAPI/ISA_ps/fcvtau_float
    A instructionAPI/ISA_ps/fcvtl_advsimd
    A instructionAPI/ISA_ps/fcvtms_advsimd
    A instructionAPI/ISA_ps/fcvtms_float
    A instructionAPI/ISA_ps/fcvtmu_advsimd
    A instructionAPI/ISA_ps/fcvtmu_float
    A instructionAPI/ISA_ps/fcvtn_advsimd
    A instructionAPI/ISA_ps/fcvtns_advsimd
    A instructionAPI/ISA_ps/fcvtns_float
    A instructionAPI/ISA_ps/fcvtnu_advsimd
    A instructionAPI/ISA_ps/fcvtnu_float
    A instructionAPI/ISA_ps/fcvtps_advsimd
    A instructionAPI/ISA_ps/fcvtps_float
    A instructionAPI/ISA_ps/fcvtpu_advsimd
    A instructionAPI/ISA_ps/fcvtpu_float
    A instructionAPI/ISA_ps/fcvtxn_advsimd
    A instructionAPI/ISA_ps/fcvtzs_advsimd_fix
    A instructionAPI/ISA_ps/fcvtzs_advsimd_int
    A instructionAPI/ISA_ps/fcvtzs_float_fix
    A instructionAPI/ISA_ps/fcvtzs_float_int
    A instructionAPI/ISA_ps/fcvtzu_advsimd_fix
    A instructionAPI/ISA_ps/fcvtzu_advsimd_int
    A instructionAPI/ISA_ps/fcvtzu_float_fix
    A instructionAPI/ISA_ps/fcvtzu_float_int
    A instructionAPI/ISA_ps/fdiv_advsimd
    A instructionAPI/ISA_ps/fdiv_float
    A instructionAPI/ISA_ps/fmadd_float
    A instructionAPI/ISA_ps/fmax_advsimd
    A instructionAPI/ISA_ps/fmax_float
    A instructionAPI/ISA_ps/fmaxnm_advsimd
    A instructionAPI/ISA_ps/fmaxnm_float
    A instructionAPI/ISA_ps/fmaxnmp_advsimd_pair
    A instructionAPI/ISA_ps/fmaxnmp_advsimd_vec
    A instructionAPI/ISA_ps/fmaxnmv_advsimd
    A instructionAPI/ISA_ps/fmaxp_advsimd_pair
    A instructionAPI/ISA_ps/fmaxp_advsimd_vec
    A instructionAPI/ISA_ps/fmaxv_advsimd
    A instructionAPI/ISA_ps/fmin_advsimd
    A instructionAPI/ISA_ps/fmin_float
    A instructionAPI/ISA_ps/fminnm_advsimd
    A instructionAPI/ISA_ps/fminnm_float
    A instructionAPI/ISA_ps/fminnmp_advsimd_pair
    A instructionAPI/ISA_ps/fminnmp_advsimd_vec
    A instructionAPI/ISA_ps/fminnmv_advsimd
    A instructionAPI/ISA_ps/fminp_advsimd_pair
    A instructionAPI/ISA_ps/fminp_advsimd_vec
    A instructionAPI/ISA_ps/fminv_advsimd
    A instructionAPI/ISA_ps/fmla_advsimd_elt
    A instructionAPI/ISA_ps/fmla_advsimd_vec
    A instructionAPI/ISA_ps/fmls_advsimd_elt
    A instructionAPI/ISA_ps/fmls_advsimd_vec
    A instructionAPI/ISA_ps/fmov_advsimd
    A instructionAPI/ISA_ps/fmov_float
    A instructionAPI/ISA_ps/fmov_float_gen
    A instructionAPI/ISA_ps/fmov_float_imm
    A instructionAPI/ISA_ps/fmsub_float
    A instructionAPI/ISA_ps/fmul_advsimd_elt
    A instructionAPI/ISA_ps/fmul_advsimd_vec
    A instructionAPI/ISA_ps/fmul_float
    A instructionAPI/ISA_ps/fmulx_advsimd_elt
    A instructionAPI/ISA_ps/fmulx_advsimd_vec
    A instructionAPI/ISA_ps/fneg_advsimd
    A instructionAPI/ISA_ps/fneg_float
    A instructionAPI/ISA_ps/fnmadd_float
    A instructionAPI/ISA_ps/fnmsub_float
    A instructionAPI/ISA_ps/fnmul_float
    A instructionAPI/ISA_ps/fpsimdindex
    A instructionAPI/ISA_ps/frecpe_advsimd
    A instructionAPI/ISA_ps/frecps_advsimd
    A instructionAPI/ISA_ps/frecpx_advsimd
    A instructionAPI/ISA_ps/frinta_advsimd
    A instructionAPI/ISA_ps/frinta_float
    A instructionAPI/ISA_ps/frinti_advsimd
    A instructionAPI/ISA_ps/frinti_float
    A instructionAPI/ISA_ps/frintm_advsimd
    A instructionAPI/ISA_ps/frintm_float
    A instructionAPI/ISA_ps/frintn_advsimd
    A instructionAPI/ISA_ps/frintn_float
    A instructionAPI/ISA_ps/frintp_advsimd
    A instructionAPI/ISA_ps/frintp_float
    A instructionAPI/ISA_ps/frintx_advsimd
    A instructionAPI/ISA_ps/frintx_float
    A instructionAPI/ISA_ps/frintz_advsimd
    A instructionAPI/ISA_ps/frintz_float
    A instructionAPI/ISA_ps/frsqrte_advsimd
    A instructionAPI/ISA_ps/frsqrts_advsimd
    A instructionAPI/ISA_ps/fsqrt_advsimd
    A instructionAPI/ISA_ps/fsqrt_float
    A instructionAPI/ISA_ps/fsub_advsimd
    A instructionAPI/ISA_ps/fsub_float
    A instructionAPI/ISA_ps/hint
    A instructionAPI/ISA_ps/hlt
    A instructionAPI/ISA_ps/hvc
    A instructionAPI/ISA_ps/ic_sys
    A instructionAPI/ISA_ps/index
    A instructionAPI/ISA_ps/ins_advsimd_elt
    A instructionAPI/ISA_ps/ins_advsimd_gen
    A instructionAPI/ISA_ps/isb
    A instructionAPI/ISA_ps/ld1_advsimd_mult
    A instructionAPI/ISA_ps/ld1_advsimd_sngl
    A instructionAPI/ISA_ps/ld1r_advsimd
    A instructionAPI/ISA_ps/ld2_advsimd_mult
    A instructionAPI/ISA_ps/ld2_advsimd_sngl
    A instructionAPI/ISA_ps/ld2r_advsimd
    A instructionAPI/ISA_ps/ld3_advsimd_mult
    A instructionAPI/ISA_ps/ld3_advsimd_sngl
    A instructionAPI/ISA_ps/ld3r_advsimd
    A instructionAPI/ISA_ps/ld4_advsimd_mult
    A instructionAPI/ISA_ps/ld4_advsimd_sngl
    A instructionAPI/ISA_ps/ld4r_advsimd
    A instructionAPI/ISA_ps/ldar
    A instructionAPI/ISA_ps/ldarb
    A instructionAPI/ISA_ps/ldarh
    A instructionAPI/ISA_ps/ldaxp
    A instructionAPI/ISA_ps/ldaxr
    A instructionAPI/ISA_ps/ldaxrb
    A instructionAPI/ISA_ps/ldaxrh
    A instructionAPI/ISA_ps/ldnp_fpsimd
    A instructionAPI/ISA_ps/ldnp_gen
    A instructionAPI/ISA_ps/ldp_fpsimd
    A instructionAPI/ISA_ps/ldp_gen
    A instructionAPI/ISA_ps/ldpsw
    A instructionAPI/ISA_ps/ldr_imm_fpsimd
    A instructionAPI/ISA_ps/ldr_imm_gen
    A instructionAPI/ISA_ps/ldr_lit_fpsimd
    A instructionAPI/ISA_ps/ldr_lit_gen
    A instructionAPI/ISA_ps/ldr_reg_fpsimd
    A instructionAPI/ISA_ps/ldr_reg_gen
    A instructionAPI/ISA_ps/ldrb_imm
    A instructionAPI/ISA_ps/ldrb_reg
    A instructionAPI/ISA_ps/ldrh_imm
    A instructionAPI/ISA_ps/ldrh_reg
    A instructionAPI/ISA_ps/ldrsb_imm
    A instructionAPI/ISA_ps/ldrsb_reg
    A instructionAPI/ISA_ps/ldrsh_imm
    A instructionAPI/ISA_ps/ldrsh_reg
    A instructionAPI/ISA_ps/ldrsw_imm
    A instructionAPI/ISA_ps/ldrsw_lit
    A instructionAPI/ISA_ps/ldrsw_reg
    A instructionAPI/ISA_ps/ldtr
    A instructionAPI/ISA_ps/ldtrb
    A instructionAPI/ISA_ps/ldtrh
    A instructionAPI/ISA_ps/ldtrsb
    A instructionAPI/ISA_ps/ldtrsh
    A instructionAPI/ISA_ps/ldtrsw
    A instructionAPI/ISA_ps/ldur_fpsimd
    A instructionAPI/ISA_ps/ldur_gen
    A instructionAPI/ISA_ps/ldurb
    A instructionAPI/ISA_ps/ldurh
    A instructionAPI/ISA_ps/ldursb
    A instructionAPI/ISA_ps/ldursh
    A instructionAPI/ISA_ps/ldursw
    A instructionAPI/ISA_ps/ldxp
    A instructionAPI/ISA_ps/ldxr
    A instructionAPI/ISA_ps/ldxrb
    A instructionAPI/ISA_ps/ldxrh
    A instructionAPI/ISA_ps/lsl_lslv
    A instructionAPI/ISA_ps/lsl_ubfm
    A instructionAPI/ISA_ps/lslv
    A instructionAPI/ISA_ps/lsr_lsrv
    A instructionAPI/ISA_ps/lsr_ubfm
    A instructionAPI/ISA_ps/lsrv
    A instructionAPI/ISA_ps/madd
    A instructionAPI/ISA_ps/mla_advsimd_elt
    A instructionAPI/ISA_ps/mla_advsimd_vec
    A instructionAPI/ISA_ps/mls_advsimd_elt
    A instructionAPI/ISA_ps/mls_advsimd_vec
    A instructionAPI/ISA_ps/mneg_msub
    A instructionAPI/ISA_ps/mov_add_addsub_imm
    A instructionAPI/ISA_ps/mov_dup_advsimd_elt
    A instructionAPI/ISA_ps/mov_ins_advsimd_elt
    A instructionAPI/ISA_ps/mov_ins_advsimd_gen
    A instructionAPI/ISA_ps/mov_movn
    A instructionAPI/ISA_ps/mov_movz
    A instructionAPI/ISA_ps/mov_orr_advsimd_reg
    A instructionAPI/ISA_ps/mov_orr_log_imm
    A instructionAPI/ISA_ps/mov_orr_log_shift
    A instructionAPI/ISA_ps/mov_umov_advsimd
    A instructionAPI/ISA_ps/movi_advsimd
    A instructionAPI/ISA_ps/movk
    A instructionAPI/ISA_ps/movn
    A instructionAPI/ISA_ps/movz
    A instructionAPI/ISA_ps/mrs
    A instructionAPI/ISA_ps/msr_imm
    A instructionAPI/ISA_ps/msr_reg
    A instructionAPI/ISA_ps/msub
    A instructionAPI/ISA_ps/mul_advsimd_elt
    A instructionAPI/ISA_ps/mul_advsimd_vec
    A instructionAPI/ISA_ps/mul_madd
    A instructionAPI/ISA_ps/mvn_not_advsimd
    A instructionAPI/ISA_ps/mvn_orn_log_shift
    A instructionAPI/ISA_ps/mvni_advsimd
    A instructionAPI/ISA_ps/neg_advsimd
    A instructionAPI/ISA_ps/neg_sub_addsub_shift
    A instructionAPI/ISA_ps/negs_subs_addsub_shift
    A instructionAPI/ISA_ps/ngc_sbc
    A instructionAPI/ISA_ps/ngcs_sbcs
    A instructionAPI/ISA_ps/nop_hint
    A instructionAPI/ISA_ps/not_advsimd
    A instructionAPI/ISA_ps/orn_advsimd
    A instructionAPI/ISA_ps/orn_log_shift
    A instructionAPI/ISA_ps/orr_advsimd_imm
    A instructionAPI/ISA_ps/orr_advsimd_reg
    A instructionAPI/ISA_ps/orr_log_imm
    A instructionAPI/ISA_ps/orr_log_shift
    A instructionAPI/ISA_ps/permindex
    A instructionAPI/ISA_ps/pmul_advsimd
    A instructionAPI/ISA_ps/pmull_advsimd
    A instructionAPI/ISA_ps/prfm_imm
    A instructionAPI/ISA_ps/prfm_lit
    A instructionAPI/ISA_ps/prfm_reg
    A instructionAPI/ISA_ps/prfum
    A instructionAPI/ISA_ps/raddhn_advsimd
    A instructionAPI/ISA_ps/rbit_advsimd
    A instructionAPI/ISA_ps/rbit_int
    A instructionAPI/ISA_ps/ret
    A instructionAPI/ISA_ps/rev
    A instructionAPI/ISA_ps/rev16_advsimd
    A instructionAPI/ISA_ps/rev16_int
    A instructionAPI/ISA_ps/rev32_advsimd
    A instructionAPI/ISA_ps/rev32_int
    A instructionAPI/ISA_ps/rev64_advsimd
    A instructionAPI/ISA_ps/ror_extr
    A instructionAPI/ISA_ps/ror_rorv
    A instructionAPI/ISA_ps/rorv
    A instructionAPI/ISA_ps/rshrn_advsimd
    A instructionAPI/ISA_ps/rsubhn_advsimd
    A instructionAPI/ISA_ps/saba_advsimd
    A instructionAPI/ISA_ps/sabal_advsimd
    A instructionAPI/ISA_ps/sabd_advsimd
    A instructionAPI/ISA_ps/sabdl_advsimd
    A instructionAPI/ISA_ps/sadalp_advsimd
    A instructionAPI/ISA_ps/saddl_advsimd
    A instructionAPI/ISA_ps/saddlp_advsimd
    A instructionAPI/ISA_ps/saddlv_advsimd
    A instructionAPI/ISA_ps/saddw_advsimd
    A instructionAPI/ISA_ps/sbc
    A instructionAPI/ISA_ps/sbcs
    A instructionAPI/ISA_ps/sbfiz_sbfm
    A instructionAPI/ISA_ps/sbfm
    A instructionAPI/ISA_ps/sbfx_sbfm
    A instructionAPI/ISA_ps/scvtf_advsimd_fix
    A instructionAPI/ISA_ps/scvtf_advsimd_int
    A instructionAPI/ISA_ps/scvtf_float_fix
    A instructionAPI/ISA_ps/scvtf_float_int
    A instructionAPI/ISA_ps/sdiv
    A instructionAPI/ISA_ps/sev_hint
    A instructionAPI/ISA_ps/sevl_hint
    A instructionAPI/ISA_ps/sha1c_advsimd
    A instructionAPI/ISA_ps/sha1h_advsimd
    A instructionAPI/ISA_ps/sha1m_advsimd
    A instructionAPI/ISA_ps/sha1p_advsimd
    A instructionAPI/ISA_ps/sha1su0_advsimd
    A instructionAPI/ISA_ps/sha1su1_advsimd
    A instructionAPI/ISA_ps/sha256h2_advsimd
    A instructionAPI/ISA_ps/sha256h_advsimd
    A instructionAPI/ISA_ps/sha256su0_advsimd
    A instructionAPI/ISA_ps/sha256su1_advsimd
    A instructionAPI/ISA_ps/shadd_advsimd
    A instructionAPI/ISA_ps/shared_pseudocode
    A instructionAPI/ISA_ps/shl_advsimd
    A instructionAPI/ISA_ps/shll_advsimd
    A instructionAPI/ISA_ps/shrn_advsimd
    A instructionAPI/ISA_ps/shsub_advsimd
    A instructionAPI/ISA_ps/sli_advsimd
    A instructionAPI/ISA_ps/smaddl
    A instructionAPI/ISA_ps/smax_advsimd
    A instructionAPI/ISA_ps/smaxp_advsimd
    A instructionAPI/ISA_ps/smaxv_advsimd
    A instructionAPI/ISA_ps/smc
    A instructionAPI/ISA_ps/smin_advsimd
    A instructionAPI/ISA_ps/sminp_advsimd
    A instructionAPI/ISA_ps/sminv_advsimd
    A instructionAPI/ISA_ps/smlal_advsimd_elt
    A instructionAPI/ISA_ps/smlal_advsimd_vec
    A instructionAPI/ISA_ps/smlsl_advsimd_elt
    A instructionAPI/ISA_ps/smlsl_advsimd_vec
    A instructionAPI/ISA_ps/smnegl_smsubl
    A instructionAPI/ISA_ps/smov_advsimd
    A instructionAPI/ISA_ps/smsubl
    A instructionAPI/ISA_ps/smulh
    A instructionAPI/ISA_ps/smull_advsimd_elt
    A instructionAPI/ISA_ps/smull_advsimd_vec
    A instructionAPI/ISA_ps/smull_smaddl
    A instructionAPI/ISA_ps/sqabs_advsimd
    A instructionAPI/ISA_ps/sqadd_advsimd
    A instructionAPI/ISA_ps/sqdmlal_advsimd_elt
    A instructionAPI/ISA_ps/sqdmlal_advsimd_vec
    A instructionAPI/ISA_ps/sqdmlsl_advsimd_elt
    A instructionAPI/ISA_ps/sqdmlsl_advsimd_vec
    A instructionAPI/ISA_ps/sqdmulh_advsimd_elt
    A instructionAPI/ISA_ps/sqdmulh_advsimd_vec
    A instructionAPI/ISA_ps/sqdmull_advsimd_elt
    A instructionAPI/ISA_ps/sqdmull_advsimd_vec
    A instructionAPI/ISA_ps/sqneg_advsimd
    A instructionAPI/ISA_ps/sqrdmulh_advsimd_elt
    A instructionAPI/ISA_ps/sqrdmulh_advsimd_vec
    A instructionAPI/ISA_ps/sqrshl_advsimd
    A instructionAPI/ISA_ps/sqrshrn_advsimd
    A instructionAPI/ISA_ps/sqrshrun_advsimd
    A instructionAPI/ISA_ps/sqshl_advsimd_imm
    A instructionAPI/ISA_ps/sqshl_advsimd_reg
    A instructionAPI/ISA_ps/sqshlu_advsimd
    A instructionAPI/ISA_ps/sqshrn_advsimd
    A instructionAPI/ISA_ps/sqshrun_advsimd
    A instructionAPI/ISA_ps/sqsub_advsimd
    A instructionAPI/ISA_ps/sqxtn_advsimd
    A instructionAPI/ISA_ps/sqxtun_advsimd
    A instructionAPI/ISA_ps/srhadd_advsimd
    A instructionAPI/ISA_ps/sri_advsimd
    A instructionAPI/ISA_ps/srshl_advsimd
    A instructionAPI/ISA_ps/srshr_advsimd
    A instructionAPI/ISA_ps/srsra_advsimd
    A instructionAPI/ISA_ps/sshl_advsimd
    A instructionAPI/ISA_ps/sshll_advsimd
    A instructionAPI/ISA_ps/sshr_advsimd
    A instructionAPI/ISA_ps/ssra_advsimd
    A instructionAPI/ISA_ps/ssubl_advsimd
    A instructionAPI/ISA_ps/ssubw_advsimd
    A instructionAPI/ISA_ps/st1_advsimd_mult
    A instructionAPI/ISA_ps/st1_advsimd_sngl
    A instructionAPI/ISA_ps/st2_advsimd_mult
    A instructionAPI/ISA_ps/st2_advsimd_sngl
    A instructionAPI/ISA_ps/st3_advsimd_mult
    A instructionAPI/ISA_ps/st3_advsimd_sngl
    A instructionAPI/ISA_ps/st4_advsimd_mult
    A instructionAPI/ISA_ps/st4_advsimd_sngl
    A instructionAPI/ISA_ps/stlr
    A instructionAPI/ISA_ps/stlrb
    A instructionAPI/ISA_ps/stlrh
    A instructionAPI/ISA_ps/stlxp
    A instructionAPI/ISA_ps/stlxr
    A instructionAPI/ISA_ps/stlxrb
    A instructionAPI/ISA_ps/stlxrh
    A instructionAPI/ISA_ps/stnp_fpsimd
    A instructionAPI/ISA_ps/stnp_gen
    A instructionAPI/ISA_ps/stp_fpsimd
    A instructionAPI/ISA_ps/stp_gen
    A instructionAPI/ISA_ps/str_imm_fpsimd
    A instructionAPI/ISA_ps/str_imm_gen
    A instructionAPI/ISA_ps/str_reg_fpsimd
    A instructionAPI/ISA_ps/str_reg_gen
    A instructionAPI/ISA_ps/strb_imm
    A instructionAPI/ISA_ps/strb_reg
    A instructionAPI/ISA_ps/strh_imm
    A instructionAPI/ISA_ps/strh_reg
    A instructionAPI/ISA_ps/sttr
    A instructionAPI/ISA_ps/sttrb
    A instructionAPI/ISA_ps/sttrh
    A instructionAPI/ISA_ps/stur_fpsimd
    A instructionAPI/ISA_ps/stur_gen
    A instructionAPI/ISA_ps/sturb
    A instructionAPI/ISA_ps/sturh
    A instructionAPI/ISA_ps/stxp
    A instructionAPI/ISA_ps/stxr
    A instructionAPI/ISA_ps/stxrb
    A instructionAPI/ISA_ps/stxrh
    A instructionAPI/ISA_ps/sub_addsub_ext
    A instructionAPI/ISA_ps/sub_addsub_imm
    A instructionAPI/ISA_ps/sub_addsub_shift
    A instructionAPI/ISA_ps/sub_advsimd
    A instructionAPI/ISA_ps/subhn_advsimd
    A instructionAPI/ISA_ps/subs_addsub_ext
    A instructionAPI/ISA_ps/subs_addsub_imm
    A instructionAPI/ISA_ps/subs_addsub_shift
    A instructionAPI/ISA_ps/suqadd_advsimd
    A instructionAPI/ISA_ps/svc
    A instructionAPI/ISA_ps/sxtb_sbfm
    A instructionAPI/ISA_ps/sxth_sbfm
    A instructionAPI/ISA_ps/sxtl_sshll_advsimd
    A instructionAPI/ISA_ps/sxtw_sbfm
    A instructionAPI/ISA_ps/sys
    A instructionAPI/ISA_ps/sysl
    A instructionAPI/ISA_ps/tbl_advsimd
    A instructionAPI/ISA_ps/tbnz
    A instructionAPI/ISA_ps/tbx_advsimd
    A instructionAPI/ISA_ps/tbz
    A instructionAPI/ISA_ps/temp.py
    A instructionAPI/ISA_ps/tlbi_sys
    A instructionAPI/ISA_ps/trn1_advsimd
    A instructionAPI/ISA_ps/trn2_advsimd
    A instructionAPI/ISA_ps/tst_ands_log_imm
    A instructionAPI/ISA_ps/tst_ands_log_shift
    A instructionAPI/ISA_ps/uaba_advsimd
    A instructionAPI/ISA_ps/uabal_advsimd
    A instructionAPI/ISA_ps/uabd_advsimd
    A instructionAPI/ISA_ps/uabdl_advsimd
    A instructionAPI/ISA_ps/uadalp_advsimd
    A instructionAPI/ISA_ps/uaddl_advsimd
    A instructionAPI/ISA_ps/uaddlp_advsimd
    A instructionAPI/ISA_ps/uaddlv_advsimd
    A instructionAPI/ISA_ps/uaddw_advsimd
    A instructionAPI/ISA_ps/ubfiz_ubfm
    A instructionAPI/ISA_ps/ubfm
    A instructionAPI/ISA_ps/ubfx_ubfm
    A instructionAPI/ISA_ps/ucvtf_advsimd_fix
    A instructionAPI/ISA_ps/ucvtf_advsimd_int
    A instructionAPI/ISA_ps/ucvtf_float_fix
    A instructionAPI/ISA_ps/ucvtf_float_int
    A instructionAPI/ISA_ps/udiv
    A instructionAPI/ISA_ps/uhadd_advsimd
    A instructionAPI/ISA_ps/uhsub_advsimd
    A instructionAPI/ISA_ps/umaddl
    A instructionAPI/ISA_ps/umax_advsimd
    A instructionAPI/ISA_ps/umaxp_advsimd
    A instructionAPI/ISA_ps/umaxv_advsimd
    A instructionAPI/ISA_ps/umin_advsimd
    A instructionAPI/ISA_ps/uminp_advsimd
    A instructionAPI/ISA_ps/uminv_advsimd
    A instructionAPI/ISA_ps/umlal_advsimd_elt
    A instructionAPI/ISA_ps/umlal_advsimd_vec
    A instructionAPI/ISA_ps/umlsl_advsimd_elt
    A instructionAPI/ISA_ps/umlsl_advsimd_vec
    A instructionAPI/ISA_ps/umnegl_umsubl
    A instructionAPI/ISA_ps/umov_advsimd
    A instructionAPI/ISA_ps/umsubl
    A instructionAPI/ISA_ps/umulh
    A instructionAPI/ISA_ps/umull_advsimd_elt
    A instructionAPI/ISA_ps/umull_advsimd_vec
    A instructionAPI/ISA_ps/umull_umaddl
    A instructionAPI/ISA_ps/uqadd_advsimd
    A instructionAPI/ISA_ps/uqrshl_advsimd
    A instructionAPI/ISA_ps/uqrshrn_advsimd
    A instructionAPI/ISA_ps/uqshl_advsimd_imm
    A instructionAPI/ISA_ps/uqshl_advsimd_reg
    A instructionAPI/ISA_ps/uqshrn_advsimd
    A instructionAPI/ISA_ps/uqsub_advsimd
    A instructionAPI/ISA_ps/uqxtn_advsimd
    A instructionAPI/ISA_ps/urecpe_advsimd
    A instructionAPI/ISA_ps/urhadd_advsimd
    A instructionAPI/ISA_ps/urshl_advsimd
    A instructionAPI/ISA_ps/urshr_advsimd
    A instructionAPI/ISA_ps/ursqrte_advsimd
    A instructionAPI/ISA_ps/ursra_advsimd
    A instructionAPI/ISA_ps/ushl_advsimd
    A instructionAPI/ISA_ps/ushll_advsimd
    A instructionAPI/ISA_ps/ushr_advsimd
    A instructionAPI/ISA_ps/usqadd_advsimd
    A instructionAPI/ISA_ps/usra_advsimd
    A instructionAPI/ISA_ps/usubl_advsimd
    A instructionAPI/ISA_ps/usubw_advsimd
    A instructionAPI/ISA_ps/uxtb_ubfm
    A instructionAPI/ISA_ps/uxth_ubfm
    A instructionAPI/ISA_ps/uxtl_ushll_advsimd
    A instructionAPI/ISA_ps/uzp1_advsimd
    A instructionAPI/ISA_ps/uzp2_advsimd
    A instructionAPI/ISA_ps/wfe_hint
    A instructionAPI/ISA_ps/wfi_hint
    A instructionAPI/ISA_ps/xtn_advsimd
    A instructionAPI/ISA_ps/yield_hint
    A instructionAPI/ISA_ps/zip1_advsimd
    A instructionAPI/ISA_ps/zip2_advsimd
    A instructionAPI/aarch64_pseudocode_extractor.py
    A instructionAPI/h/ArchSpecificFormatters.h
    M instructionAPI/h/BinaryFunction.h
    M instructionAPI/h/Dereference.h
    M instructionAPI/h/Expression.h
    M instructionAPI/h/Immediate.h
    M instructionAPI/h/Instruction.h
    M instructionAPI/h/InstructionAST.h
    M instructionAPI/h/Operand.h
    M instructionAPI/h/Register.h
    M instructionAPI/h/Result.h
    M instructionAPI/h/Visitor.h
    A instructionAPI/src/ArchSpecificFormatters.C
    M instructionAPI/src/Immediate.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-aarch64.h
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h
    M instructionAPI/src/InstructionDecoder-x86.C
    M instructionAPI/src/InstructionDecoder-x86.h
    M instructionAPI/src/Operand.C
    M instructionAPI/src/Register.C
    M instructionAPI/src/aarch64_opcode_tables.C
    M instructionAPI/src/power_opcode_tables.C
    M parseAPI/CMakeLists.txt
    M parseAPI/h/CodeObject.h
    M parseAPI/h/CodeSource.h
    M parseAPI/src/Block.C
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/CodeSource.C
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/IA_IAPI.h
    M parseAPI/src/IA_InstrucIter.C
    M parseAPI/src/IA_aarch64.C
    A parseAPI/src/IA_aarch64.h
    R parseAPI/src/IA_aarch64Details.C
    R parseAPI/src/IA_aarch64Details.h
    R parseAPI/src/IA_platformDetails.h
    R parseAPI/src/IA_platformDetailsFactory.C
    M parseAPI/src/IA_power.C
    M parseAPI/src/IA_power.h
    R parseAPI/src/IA_powerDetails.C
    R parseAPI/src/IA_powerDetails.h
    M parseAPI/src/IA_x86.C
    A parseAPI/src/IA_x86.h
    R parseAPI/src/IA_x86Details.C
    R parseAPI/src/IA_x86Details.h
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/IndirectAnalyzer.h
    R parseAPI/src/InstructionSource-aarch64.C
    R parseAPI/src/InstructionSource-power.C
    R parseAPI/src/InstructionSource-x86.C
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableFormatPred.h
    M parseAPI/src/JumpTableIndexPred.C
    M parseAPI/src/JumpTableIndexPred.h
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser-speculative.C
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C
    M parseAPI/src/ParserDetails.h
    M parseAPI/src/SymbolicExpression.C
    M parseAPI/src/SymbolicExpression.h
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  Merge checkpoint


  Commit: 9157d8a0595b355d8604d61a40a40dac577df7e2
      https://github.com/dyninst/dyninst/commit/9157d8a0595b355d8604d61a40a40dac577df7e2
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-09-26 (Tue, 26 Sep 2017)

  Changed paths:
    M CMakeLists.txt
    M cmake/packages.cmake
    M common/h/IBSTree-fast.h
    M common/h/IBSTree.h
    M common/src/arch-x86.C
    M common/src/singleton_object_pool.h
    M dataflowAPI/h/Absloc.h
    M dataflowAPI/h/AbslocInterface.h
    M dataflowAPI/h/SymEval.h
    M dataflowAPI/h/liveness.h
    M dataflowAPI/h/slicing.h
    M dataflowAPI/h/stackanalysis.h
    M dataflowAPI/rose/semantics/SymEvalSemantics.h
    M dataflowAPI/src/Absloc.C
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/RoseInsnFactory.h
    M dataflowAPI/src/SymEval.C
    M dataflowAPI/src/SymEvalPolicy.C
    M dataflowAPI/src/SymEvalPolicy.h
    M dataflowAPI/src/liveness.C
    M dataflowAPI/src/slicing.C
    M dataflowAPI/src/stackanalysis.C
    M dyninstAPI/h/BPatch_basicBlock.h
    M dyninstAPI/h/BPatch_parRegion.h
    M dyninstAPI/h/BPatch_point.h
    M dyninstAPI/src/BPatch_basicBlock.C
    M dyninstAPI/src/BPatch_flowGraph.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.h
    M dyninstAPI/src/BPatch_parRegion.C
    M dyninstAPI/src/BPatch_point.C
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M dyninstAPI/src/Relocation/CodeBuffer.C
    M dyninstAPI/src/Relocation/DynPointMaker.C
    M dyninstAPI/src/Relocation/DynPointMaker.h
    M dyninstAPI/src/Relocation/Transformers/Instrumenter.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.h
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.h
    M dyninstAPI/src/Relocation/Widgets/CFWidget-x86.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.h
    M dyninstAPI/src/Relocation/Widgets/InsnWidget.C
    M dyninstAPI/src/Relocation/Widgets/InsnWidget.h
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget.h
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.C
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.h
    M dyninstAPI/src/Relocation/Widgets/StackModWidget.C
    M dyninstAPI/src/Relocation/Widgets/StackModWidget.h
    M dyninstAPI/src/Relocation/Widgets/Widget.h
    M dyninstAPI/src/StackMod/StackAccess.C
    M dyninstAPI/src/StackMod/StackAccess.h
    M dyninstAPI/src/StackMod/StackModChecker.C
    M dyninstAPI/src/StackMod/StackModChecker.h
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/addressSpace.h
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/codegen.C
    M dyninstAPI/src/frameChecker.C
    M dyninstAPI/src/frameChecker.h
    M dyninstAPI/src/function.C
    M dyninstAPI/src/function.h
    M dyninstAPI/src/hybridInstrumentation.C
    M dyninstAPI/src/hybridOverwrites.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/instPoint.C
    M dyninstAPI/src/instPoint.h
    M dyninstAPI/src/mapped_object.C
    M dyninstAPI/src/parse-cfg.C
    M dyninstAPI/src/parse-cfg.h
    M dyninstAPI/src/parse-x86.C
    M instructionAPI/h/ArchSpecificFormatters.h
    M instructionAPI/h/BinaryFunction.h
    M instructionAPI/h/Dereference.h
    M instructionAPI/h/Expression.h
    M instructionAPI/h/Immediate.h
    M instructionAPI/h/Instruction.h
    M instructionAPI/h/InstructionAST.h
    M instructionAPI/h/InstructionDecoder.h
    M instructionAPI/h/Operand.h
    R instructionAPI/h/Operation.h
    A instructionAPI/h/Operation_impl.h
    M instructionAPI/h/Register.h
    M instructionAPI/src/ArchSpecificFormatters.C
    M instructionAPI/src/Immediate.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-aarch64.h
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h
    M instructionAPI/src/InstructionDecoder-x86.C
    M instructionAPI/src/InstructionDecoder-x86.h
    M instructionAPI/src/InstructionDecoder.C
    M instructionAPI/src/InstructionDecoderImpl.C
    M instructionAPI/src/InstructionDecoderImpl.h
    M instructionAPI/src/Operand.C
    M instructionAPI/src/Operation.C
    M instructionAPI/src/Register.C
    M parseAPI/CMakeLists.txt
    M parseAPI/h/CFG.h
    M parseAPI/h/CodeSource.h
    M parseAPI/h/InstructionAdapter.h
    M parseAPI/h/Location.h
    M parseAPI/src/Block.C
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/BoundFactData.h
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/Function.C
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/IA_IAPI.h
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IA_aarch64.h
    M parseAPI/src/IA_power.C
    M parseAPI/src/IA_power.h
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IA_x86.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableIndexPred.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C
    M parseAPI/src/ParserDetails.h
    M parseAPI/src/ProbabilisticParser.C
    M parseAPI/src/SymbolicExpression.C
    M patchAPI/h/PatchCFG.h
    M patchAPI/h/Point.h
    M patchAPI/src/PatchBlock.C
    M patchAPI/src/PatchFunction.C
    M patchAPI/src/PatchMgr.C
    M patchAPI/src/PatchModifier.C
    M patchAPI/src/Point.C
    M patchAPI/src/PointMaker.C
    M stackwalk/src/callchecker-IAPI.C

  Log Message:
  -----------
  Now getting actual parallelism:

* Instructions by value, not by shared pointer
* Blocks updated in region_data during finalize, not during parse


  Commit: a8def5c64b5ae87c068dbc6a915377a5127aac90
      https://github.com/dyninst/dyninst/commit/a8def5c64b5ae87c068dbc6a915377a5127aac90
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-09-27 (Wed, 27 Sep 2017)

  Changed paths:
    M common/src/linuxKludges.C
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/src/BPatch.C
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/BPatch_type.C
    M symtabAPI/CMakeLists.txt
    M symtabAPI/h/Collections.h
    M symtabAPI/h/Type.h
    M symtabAPI/src/Collections.C
    M symtabAPI/src/Type-mem.h
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/parseStab.C

  Log Message:
  -----------
  Some initial DWARF parallelism


  Commit: 9f77aa4f79cb2e19b9612adb49e6aae9cd769b58
      https://github.com/dyninst/dyninst/commit/9f77aa4f79cb2e19b9612adb49e6aae9cd769b58
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-09-27 (Wed, 27 Sep 2017)

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

# Conflicts:
#	dyninstAPI/src/Relocation/Transformers/Movement-analysis.C


  Commit: 3cd48c5c21cdeb3e0331ec04eaa4b51a4cf17b13
      https://github.com/dyninst/dyninst/commit/3cd48c5c21cdeb3e0331ec04eaa4b51a4cf17b13
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-09-27 (Wed, 27 Sep 2017)

  Changed paths:
    M .gitignore
    M CMakeLists.txt
    M INSTALL
    M cmake/Modules/FindLibDwarf.cmake
    M cmake/packages.cmake
    M common/src/arch-x86.C
    M dataflowAPI/rose/semantics/MemoryMap.C
    M dataflowAPI/rose/util/Message.C
    M dwarf/CMakeLists.txt
    M dwarf/h/dwarfExprParser.h
    M dwarf/h/dwarfFrameParser.h
    M dwarf/h/dwarfHandle.h
    M dwarf/h/dwarfResult.h
    M dwarf/src/dwarfExprParser.C
    M dwarf/src/dwarfFrameParser.C
    M dwarf/src/dwarfHandle.C
    M dwarf/src/dwarfResult.C
    M dynC_API/src/dynC.tab.C
    M dyninstAPI/h/BPatch.h
    M dyninstAPI/h/BPatch_type.h
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/dynProcess.C
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/pcEventHandler.C
    M dyninstAPI/src/pcEventMuxer.C
    M instructionAPI/src/Instruction.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/SymbolicExpression.C
    M patchAPI/src/PatchMgr.C
    M proccontrol/src/process.C
    M stackwalk/h/walker.h
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/dbgstepper-impl.h
    M symtabAPI/doc/A-Appendix.tex
    M symtabAPI/h/Module.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Function.C
    M symtabAPI/src/LineInformation.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
    M symtabAPI/src/parseDwarf.C

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

# Conflicts:
#	dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
#	symtabAPI/src/LineInformation.C
#	symtabAPI/src/dwarfWalker.C


  Commit: aaa5e321c9393f8a5c6419632bc08891eab6135d
      https://github.com/dyninst/dyninst/commit/aaa5e321c9393f8a5c6419632bc08891eab6135d
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M cmake/packages.cmake
    M common/src/linuxKludges.C
    M common/src/pathName.C
    M common/src/string-regex.C
    M instructionAPI/src/InstructionDecoder-x86.C
    M symtabAPI/h/Collections.h
    M symtabAPI/h/StringTable.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Collections.C
    M symtabAPI/src/Function.C
    M symtabAPI/src/LineInformation.C
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  Backed out DWARF parallelism. Fixed memory leaks and DWARF bugs.


  Commit: 9dbc40038ca2e4bbcf35abb29017fae43e46f35c
      https://github.com/dyninst/dyninst/commit/9dbc40038ca2e4bbcf35abb29017fae43e46f35c
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-10-16 (Mon, 16 Oct 2017)

  Changed paths:
    M common/src/dthread.C
    M common/src/singleton_object_pool.h
    M parseAPI/src/CFGFactory.C
    M symtabAPI/h/Module.h
    M symtabAPI/src/Type-mem.h
    M symtabAPI/src/Type.C

  Log Message:
  -----------
  Remove cilkscreen dependencies.


  Commit: 09749669640fb2dd3396f4f59c4ceba5910f3f1a
      https://github.com/dyninst/dyninst/commit/09749669640fb2dd3396f4f59c4ceba5910f3f1a
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M common/src/dthread.h

  Log Message:
  -----------
  Fix stray cilktools dependency


  Commit: 21fca9d1dad945a3d793038576cede1da5d442b1
      https://github.com/dyninst/dyninst/commit/21fca9d1dad945a3d793038576cede1da5d442b1
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M symtabAPI/src/Type-mem.h
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  gcc 5.4.0 build fixes


  Commit: 06bb550c79bc6f60f06acb21672cb4ae1d47cfe2
      https://github.com/dyninst/dyninst/commit/06bb550c79bc6f60f06acb21672cb4ae1d47cfe2
  Author: Bill Williams <wwilliam47@xxxxxxxxx>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M symtabAPI/src/Type-mem.h

  Log Message:
  -----------
  Get the right header for make_pair


  Commit: fdaf22d4a172abbc45c34bdc271770a0c6029637
      https://github.com/dyninst/dyninst/commit/fdaf22d4a172abbc45c34bdc271770a0c6029637
  Author: Bill Williams <wwilliam47@xxxxxxxxx>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  Remove hard-coded development dependencies

Requires TBB includes/libs to be in CMake search path; this is intended to be used with a spackfile or other preset development environment.


  Commit: a9c721bba6c1e8fe07f997989212c3e99ad5fc0f
      https://github.com/dyninst/dyninst/commit/a9c721bba6c1e8fe07f997989212c3e99ad5fc0f
  Author: Bill Williams <wwilliam47@xxxxxxxxx>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M common/CMakeLists.txt

  Log Message:
  -----------
  Fix common link deps


  Commit: 383a3df0fa3db65f8b37b19c43c8518bd4f5abf8
      https://github.com/dyninst/dyninst/commit/383a3df0fa3db65f8b37b19c43c8518bd4f5abf8
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-10-18 (Wed, 18 Oct 2017)

  Changed paths:
    M cmake/packages.cmake
    M dynC_API/CMakeLists.txt
    M parseAPI/src/Parser.C
    M parseThat/CMakeLists.txt

  Log Message:
  -----------
  builds clean under icc


  Commit: f1e332e4fd23e8ed404e703b8db8a5ca8fb0d020
      https://github.com/dyninst/dyninst/commit/f1e332e4fd23e8ed404e703b8db8a5ca8fb0d020
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-10-20 (Fri, 20 Oct 2017)

  Changed paths:
    A .gitmodules
    M CMakeLists.txt
    A cmake/Modules/FindTBB
    A cmake/Modules/FindTBB.cmake
    M cmake/packages.cmake
    M common/CMakeLists.txt
    M parseAPI/CMakeLists.txt
    M parseAPI/src/Parser.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Object-elf.h

  Log Message:
  -----------
  Builds cleanly under icc17; TBB found properly via CMake.


  Commit: 363e530f5c01c7648cde8b90b624c101653d5fd0
      https://github.com/dyninst/dyninst/commit/363e530f5c01c7648cde8b90b624c101653d5fd0
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-10-30 (Mon, 30 Oct 2017)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  Make RTlib CMake output a bit more verbose


  Commit: e1a4d7417e0af3a350f9470555bc520d5378a228
      https://github.com/dyninst/dyninst/commit/e1a4d7417e0af3a350f9470555bc520d5378a228
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-11-01 (Wed, 01 Nov 2017)

  Changed paths:
    M common/src/arch-x86.C
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Ensure we don't duplicate frames in the worklist.


  Commit: 87cf1e1332d2ba4e54c7a81ca6b06e610f599d79
      https://github.com/dyninst/dyninst/commit/87cf1e1332d2ba4e54c7a81ca6b06e610f599d79
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-03 (Fri, 03 Nov 2017)

  Changed paths:
    M cmake/Modules/FindCilk.cmake
    M common/src/arch-x86.C
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  parsing binaries with OpenMP divide-and-conquer

this version uses the fine-grain synchronization from the Cilk version


  Commit: a0e74aad0b809c7dcd16a4dcf3f2ba7dbf86c0cf
      https://github.com/dyninst/dyninst/commit/a0e74aad0b809c7dcd16a4dcf3f2ba7dbf86c0cf
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-03 (Fri, 03 Nov 2017)

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

  Log Message:
  -----------
  coarse-grain merging of new frames


  Commit: 47392a17f1ce4058833ed2c84308c59a5b04247a
      https://github.com/dyninst/dyninst/commit/47392a17f1ce4058833ed2c84308c59a5b04247a
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-04 (Sat, 04 Nov 2017)

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

  Log Message:
  -----------
  coarse grain merging of new frame vectors


  Commit: 1aae731da247e1dc428ad20d37fe1d166d6fdf96
      https://github.com/dyninst/dyninst/commit/1aae731da247e1dc428ad20d37fe1d166d6fdf96
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-04 (Sat, 04 Nov 2017)

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

  Log Message:
  -----------
  revert to set insertion under mutex


  Commit: 133d5c6466e946a6418ca832b82043d0ac87d0bd
      https://github.com/dyninst/dyninst/commit/133d5c6466e946a6418ca832b82043d0ac87d0bd
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-05 (Sun, 05 Nov 2017)

  Changed paths:
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    A parseAPI/src/WaitFreeQueue.h

  Log Message:
  -----------
  add wait free queue for collecting frames that need to be analyzed.


  Commit: a54b0280918bf1aa41e059088184457a50009560
      https://github.com/dyninst/dyninst/commit/a54b0280918bf1aa41e059088184457a50009560
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-05 (Sun, 05 Nov 2017)

  Changed paths:
    M parseAPI/h/CodeSource.h
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  manage SymtabCodeSource::_lookup_cache as an atomic variable


  Commit: 835fe7b9eefdff064910ca6f20fe9284b65d66a0
      https://github.com/dyninst/dyninst/commit/835fe7b9eefdff064910ca6f20fe9284b65d66a0
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-05 (Sun, 05 Nov 2017)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  parallel cleanup: OpenMP for loop with schedule(auto)


  Commit: 5133612b873edbb74c72769c62e38f8bc6314633
      https://github.com/dyninst/dyninst/commit/5133612b873edbb74c72769c62e38f8bc6314633
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-05 (Sun, 05 Nov 2017)

  Changed paths:
    A parseAPI/h/WaitFreeQueue.h
    R parseAPI/src/WaitFreeQueue.h

  Log Message:
  -----------
  relocate WaitFreeQueue.h; add Dyninst header/footer


  Commit: 760af5cc2bc7e0414ce71ea5227c53d03ed69545
      https://github.com/dyninst/dyninst/commit/760af5cc2bc7e0414ce71ea5227c53d03ed69545
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-06 (Mon, 06 Nov 2017)

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

  Log Message:
  -----------
  replace CFG factory edge, block, and function lists with wait-free lists


  Commit: 655af562c07a079381dfe814e8da7c40f1a19929
      https://github.com/dyninst/dyninst/commit/655af562c07a079381dfe814e8da7c40f1a19929
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-08 (Wed, 08 Nov 2017)

  Changed paths:
    M parseAPI/h/WaitFreeQueue.h
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  openmp parallelization of parseAPI based on (mostly) wait-free queue

- augment the wait-free queue to support the parallelization
    add peek, steal, pop operations. pop is not wait-free.

- ParseData.h now has a flag for marking when a frame is being processed

- Parser.C/h include a sophisticated OpenMP parallelization where a master
  thread spawns work found in a (mostly) wait-free queue.


  Commit: bdb2cbdc8da94151c2670e6b81066005f98b8a0a
      https://github.com/dyninst/dyninst/commit/bdb2cbdc8da94151c2670e6b81066005f98b8a0a
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-11-08 (Wed, 08 Nov 2017)

  Changed paths:
    M parseAPI/CMakeLists.txt
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  More RAJA implementation:

1) Propagate package search usefully and make the infrastructure settable in CMake
2) Refactor from outer loop to inner recursion


  Commit: d53cdbadfc4806fddd2c6826d118a0a0bf2864bd
      https://github.com/dyninst/dyninst/commit/d53cdbadfc4806fddd2c6826d118a0a0bf2864bd
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-08 (Wed, 08 Nov 2017)

  Changed paths:
    M cmake/Modules/FindCilk.cmake
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  commit changes to use cilk to go detect data races on another machine with an intel compiler.


  Commit: 9d64ee6ba54beb6401b465386f4f45f186b586e9
      https://github.com/dyninst/dyninst/commit/9d64ee6ba54beb6401b465386f4f45f186b586e9
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2017-11-10 (Fri, 10 Nov 2017)

  Changed paths:
    M symtabAPI/src/Module.C

  Log Message:
  -----------
  fix race clearing vector in parseLineInformation.


  Commit: f27790a883ee86d89d04090e58fa6eb410d00143
      https://github.com/dyninst/dyninst/commit/f27790a883ee86d89d04090e58fa6eb410d00143
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-12 (Sun, 12 Nov 2017)

  Changed paths:
    M cmake/Modules/FindCilk.cmake
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  switch from Cilk to OpenMP. Fix #if that control programming model selection.


  Commit: 425350ed1de0e6e409d116e819ddaf87fc3161bd
      https://github.com/dyninst/dyninst/commit/425350ed1de0e6e409d116e819ddaf87fc3161bd
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-13 (Mon, 13 Nov 2017)

  Changed paths:
    M parseAPI/h/WaitFreeQueue.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  replace frames vector with wait-free queue to eliminate data races


  Commit: 99d19717219d426cdfc827f95f3a4acfed00a369
      https://github.com/dyninst/dyninst/commit/99d19717219d426cdfc827f95f3a4acfed00a369
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  switch cleanup frames from tasking loop to auto scheduled for loop

switch cleanup frames loop processing wfq items to one that
empties wfq into vector and applies autoscheduled for loop.


  Commit: b5d2400202395aa051f4cea5972955e4d2272460
      https://github.com/dyninst/dyninst/commit/b5d2400202395aa051f4cea5972955e4d2272460
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-18 (Sat, 18 Nov 2017)

  Changed paths:
    M parseAPI/h/CFGFactory.h
    A parseAPI/h/LockFreeQueue.h
    R parseAPI/h/WaitFreeQueue.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  rename WaitFreeQueue.h to LockFreeQueue.h and fix references


  Commit: 07c1ec3fda0551b7f56e7640743b3c955af5b308
      https://github.com/dyninst/dyninst/commit/07c1ec3fda0551b7f56e7640743b3c955af5b308
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-19 (Sun, 19 Nov 2017)

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

  Log Message:
  -----------
  clean out dead code in CFGFactory


  Commit: 792f7f120d3dceb36b3080ec1fd9f527b31784d1
      https://github.com/dyninst/dyninst/commit/792f7f120d3dceb36b3080ec1fd9f527b31784d1
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-11-22 (Wed, 22 Nov 2017)

  Changed paths:
    M common/src/singleton_object_pool.h
    M instructionAPI/CMakeLists.txt
    M instructionAPI/h/ArchSpecificFormatters.h
    M instructionAPI/h/BinaryFunction.h
    M instructionAPI/h/Dereference.h
    M instructionAPI/h/Instruction.h
    M instructionAPI/src/ArchSpecificFormatters.C
    M instructionAPI/src/Immediate.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionDecoderImpl.C
    M instructionAPI/src/Register.C

  Log Message:
  -----------
  Move to tbb::scalable_alloc instead of boost::pool for small object allocation in InstructionAPI.


  Commit: 70c1c1b4e8e10bca857292f8ce299817b3b55bc9
      https://github.com/dyninst/dyninst/commit/70c1c1b4e8e10bca857292f8ce299817b3b55bc9
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-24 (Fri, 24 Nov 2017)

  Changed paths:
    A cmake/endian.cmake
    M cmake/shared.cmake

  Log Message:
  -----------
  check and report endianness with cmake


  Commit: a00056bec6a0265afb592944dde2ff461b525e8d
      https://github.com/dyninst/dyninst/commit/a00056bec6a0265afb592944dde2ff461b525e8d
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-25 (Sat, 25 Nov 2017)

  Changed paths:
    M common/CMakeLists.txt
    A common/h/mcs-lock.h
    A common/h/pfq-rwlock.h
    A common/src/mcs-lock.C
    A common/src/pfq-rwlock.C

  Log Message:
  -----------
  add support for MCS locks and phase-fair reader writer locks


  Commit: 7ada55c62e60ae61e7051892376c9eebc693f02f
      https://github.com/dyninst/dyninst/commit/7ada55c62e60ae61e7051892376c9eebc693f02f
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-25 (Sat, 25 Nov 2017)

  Changed paths:
    M cmake/endian.cmake

  Log Message:
  -----------
  fix cmake endian check

rename #define names so that they won't conflict with others


  Commit: 137f4a15564665bc77792eff11d978c68160badb
      https://github.com/dyninst/dyninst/commit/137f4a15564665bc77792eff11d978c68160badb
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-25 (Sat, 25 Nov 2017)

  Changed paths:
    M common/h/IBSTree.h

  Log Message:
  -----------
  replace synchronization in IBSTree.h with phase fair locks

boost uses mutual exclusion implemented with  pthread locks
to implement boost::upgrade_lockable_adapter<boost::upgrade_mutex>.
unnecessary mutual exclusion significantly hurts scalability of
fine-grain parallel operations. replace this synchronization with
phase-fair reader/writer locks. In the absence of writers, these
locks require only readers to perform only a fetch-and-add and a test
at entry and exit.


  Commit: 3476f519d7a6a07e451e4f5676a00a354d846ecc
      https://github.com/dyninst/dyninst/commit/3476f519d7a6a07e451e4f5676a00a354d846ecc
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-26 (Sun, 26 Nov 2017)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  clean up cilk and serial versions of Parser.C


  Commit: cd8ca5c0d6df1a98c27e026333710a0f5c72e691
      https://github.com/dyninst/dyninst/commit/cd8ca5c0d6df1a98c27e026333710a0f5c72e691
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-26 (Sun, 26 Nov 2017)

  Changed paths:
    M parseAPI/h/CFG.h

  Log Message:
  -----------
  add lock_guard to CFG.h - needed once it isn't available from IBSTree.h


  Commit: b56f5d969e529581465e68632589f9f1027b8ea7
      https://github.com/dyninst/dyninst/commit/b56f5d969e529581465e68632589f9f1027b8ea7
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-11-27 (Mon, 27 Nov 2017)

  Changed paths:
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  Amend last commit: missed CMakeLists.txt.


  Commit: 03e1a824772079e5fa2704cec10e6cb53fd9e5cd
      https://github.com/dyninst/dyninst/commit/03e1a824772079e5fa2704cec10e6cb53fd9e5cd
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2017-11-27 (Mon, 27 Nov 2017)

  Changed paths:
    M common/h/IBSTree.h

  Log Message:
  -----------
  fix IBSTree iterators.


  Commit: 62ff5b2ff326e1f32b0e0946da5a7303519a47bb
      https://github.com/dyninst/dyninst/commit/62ff5b2ff326e1f32b0e0946da5a7303519a47bb
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-11-29 (Wed, 29 Nov 2017)

  Changed paths:
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  Pass inputs to RAJA CMake, not internals.


  Commit: 9dd225e0c5a8455fed702ab3f261b7ccd0c32500
      https://github.com/dyninst/dyninst/commit/9dd225e0c5a8455fed702ab3f261b7ccd0c32500
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-11-29 (Wed, 29 Nov 2017)

  Changed paths:
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  Ensure frames can't be parsed on two threads simultaneously.


  Commit: de4c0b858cb52d7d7e3bafcefd56ecbee687ef61
      https://github.com/dyninst/dyninst/commit/de4c0b858cb52d7d7e3bafcefd56ecbee687ef61
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-11-29 (Wed, 29 Nov 2017)

  Changed paths:
    M common/h/dyntypes.h
    M common/src/addrtranslate-sysv.C
    M dyninstAPI/src/dynProcess.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Variable.C
    M symtabAPI/src/dwarfWalker.C

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

# Conflicts:
#	symtabAPI/src/dwarfWalker.C


  Commit: 6fb4f1ea3a1c124ae98b236cb15ecfe0e88e21fb
      https://github.com/dyninst/dyninst/commit/6fb4f1ea3a1c124ae98b236cb15ecfe0e88e21fb
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Fixup


  Commit: 3a0bd012c23f2c5d52f117b3dc0d8fc8931dee12
      https://github.com/dyninst/dyninst/commit/3a0bd012c23f2c5d52f117b3dc0d8fc8931dee12
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M cmake/packages.cmake

  Log Message:
  -----------
  Add auto-download and build for TBB from official github repo.


  Commit: 6a23d9b0660932462414976d65a1002f1e170751
      https://github.com/dyninst/dyninst/commit/6a23d9b0660932462414976d65a1002f1e170751
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M cmake/packages.cmake

  Log Message:
  -----------
  Fix target name


  Commit: d53986b13f9227358376c0f31b58a239cf016a1e
      https://github.com/dyninst/dyninst/commit/d53986b13f9227358376c0f31b58a239cf016a1e
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-11-30 (Thu, 30 Nov 2017)

  Changed paths:
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  Don't require OpenMP


  Commit: e999ec14a6a87593497e756770574cdc975d47c6
      https://github.com/dyninst/dyninst/commit/e999ec14a6a87593497e756770574cdc975d47c6
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-12-06 (Wed, 06 Dec 2017)

  Changed paths:
    M instructionAPI/src/Operation.C

  Log Message:
  -----------
  Go from read/write locks to concurrent hash map for auxiliary r/w info


  Commit: ed73e060511c1b6b1dbec1af31ae96f09ab784fd
      https://github.com/dyninst/dyninst/commit/ed73e060511c1b6b1dbec1af31ae96f09ab784fd
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M parseAPI/CMakeLists.txt
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Remove RAJA for pure TBB implementation


  Commit: ad46b7608fbfc4052c9f539bed5f9488dba61f86
      https://github.com/dyninst/dyninst/commit/ad46b7608fbfc4052c9f539bed5f9488dba61f86
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-12-15 (Fri, 15 Dec 2017)

  Changed paths:
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  Clean up warnings and dead OpenMP checks.


  Commit: cf1bc0d5c14cf0e67392e32eaff53684f51beaff
      https://github.com/dyninst/dyninst/commit/cf1bc0d5c14cf0e67392e32eaff53684f51beaff
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2017-12-15 (Fri, 15 Dec 2017)

  Changed paths:
    M cmake/options.cmake

  Log Message:
  -----------
  Promote cotire usage to an option.


  Commit: 2d4c889dbb384f83cf71794596e81308f4669732
      https://github.com/dyninst/dyninst/commit/2d4c889dbb384f83cf71794596e81308f4669732
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/parseDwarf.C

  Log Message:
  -----------
  fix data races associated with Symtab error reporting
make serr a thread local variable in Symtab class
adjust Symtab files to manipulate serr through a method
add race detector annotation to avoid race reporting for thread local


  Commit: 9a383aaa80011453d35b22d303e64517be46326e
      https://github.com/dyninst/dyninst/commit/9a383aaa80011453d35b22d303e64517be46326e
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M symtabAPI/src/Type-mem.h
    M symtabAPI/src/Type.C

  Log Message:
  -----------
  scrub any stale race detector annotations from newly allocated memory


  Commit: 22097dfaed1244999edd211b9d9053eb74cd84fe
      https://github.com/dyninst/dyninst/commit/22097dfaed1244999edd211b9d9053eb74cd84fe
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M common/src/singleton_object_pool.h

  Log Message:
  -----------
  add race detector annotations to singleton pool


  Commit: 6cf198de5e795044a541a3a1c1f8732be174f32f
      https://github.com/dyninst/dyninst/commit/6cf198de5e795044a541a3a1c1f8732be174f32f
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    A common/src/race-detector-annotations.C

  Log Message:
  -----------
  add race detector annotations implementation


  Commit: 73cc0d40df8f4ebee0c436c68b1b02ce27f100f4
      https://github.com/dyninst/dyninst/commit/73cc0d40df8f4ebee0c436c68b1b02ce27f100f4
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C

  Log Message:
  -----------
  add race detector annotations to mcs and reader writer locks


  Commit: fd8073af58aaaa4be9b306a4e6406e67dd8268d3
      https://github.com/dyninst/dyninst/commit/fd8073af58aaaa4be9b306a4e6406e67dd8268d3
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    A common/h/race-detector-annotations.h

  Log Message:
  -----------
  add definition of race detector annotations


  Commit: 2233767a255ce76bc488e5e3469a13561d4455ba
      https://github.com/dyninst/dyninst/commit/2233767a255ce76bc488e5e3469a13561d4455ba
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-03 (Wed, 03 Jan 2018)

  Changed paths:
    M instructionAPI/src/InstructionAST.C

  Log Message:
  -----------
  promote static DummyExpr to global scope
avoid overhead and data race report associated with initialization of
DummyExpr instance inside operator==


  Commit: f5d95d704d6924d4450631e1af1e7f6a84e7d8ec
      https://github.com/dyninst/dyninst/commit/f5d95d704d6924d4450631e1af1e7f6a84e7d8ec
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-05 (Fri, 05 Jan 2018)

  Changed paths:
    M dataflowAPI/src/debug_dataflow.C
    M dataflowAPI/src/debug_dataflow.h
    M dataflowAPI/src/liveness.C
    M dataflowAPI/src/slicing.C
    M dataflowAPI/src/stackanalysis.C

  Log Message:
  -----------
  initialize and use dataflow analysis debugging flags safely

dataflow analysis debugging flags are now set upon demand just before
they are first inspected.  the new interface ensures that they are set
before they are ever inspected.  use of call_once guarantees that they
are only initialized once.  use of race detector annotations suppresses
benign races that arise from the use of the call_once idiom.


  Commit: d16b53dfc914d5c03109f942d635f50528b8cc99
      https://github.com/dyninst/dyninst/commit/d16b53dfc914d5c03109f942d635f50528b8cc99
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-05 (Fri, 05 Jan 2018)

  Changed paths:
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableIndexPred.C
    M parseAPI/src/SymbolicExpression.C
    M parseAPI/src/SymbolicExpression.h

  Log Message:
  -----------
  change SymbolicExpression::cs from a static to a class member to eliminate data races

prior to this change, data races occurred on "static SymbolicExpression::cs"
when two threads used it concurrently, with each thread reading and writing
the variable.


  Commit: 45f9ffb470959421db6edf295a5081a44fbacb94
      https://github.com/dyninst/dyninst/commit/45f9ffb470959421db6edf295a5081a44fbacb94
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-05 (Fri, 05 Jan 2018)

  Changed paths:
    M common/CMakeLists.txt

  Log Message:
  -----------
  add race detector annotations to CMakeLists.txt


  Commit: c83d6ca38d6ba45f758c0c6cc0bcb91a20f1f7e3
      https://github.com/dyninst/dyninst/commit/c83d6ca38d6ba45f758c0c6cc0bcb91a20f1f7e3
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-05 (Fri, 05 Jan 2018)

  Changed paths:
    M parseAPI/src/CFGFactory.C

  Log Message:
  -----------
  after initializing a Function, scrub its access history before
adding the Function to a concurrent data structure to make it
visible to others. this avoids race reports from other threads
who read it after it becomes visible.
making the Function visible to
others.
 and making it visible to others
by adding it to a concurrent data structure,


  Commit: 4aede8d55f507dd94df0a1905fd7b53d17f3f4d1
      https://github.com/dyninst/dyninst/commit/4aede8d55f507dd94df0a1905fd7b53d17f3f4d1
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-05 (Fri, 05 Jan 2018)

  Changed paths:
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  suppress race reports when accessing region cache
maintained as an atomic in SymtabRegionSource::_lookup_cache


  Commit: b34022b855a16400165670a50793ab90f115d4dd
      https://github.com/dyninst/dyninst/commit/b34022b855a16400165670a50793ab90f115d4dd
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-05 (Fri, 05 Jan 2018)

  Changed paths:
    M parseAPI/h/CFG.h

  Log Message:
  -----------
  avoid data races by adding lock_guard to Function::num_blocks and
Function::retstatus. (Function retstatus could be an atomic to
avoid locks if this is critical for performance.)


  Commit: 1c6863f1daaf4019423de601270942180891d796
      https://github.com/dyninst/dyninst/commit/1c6863f1daaf4019423de601270942180891d796
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-07 (Sun, 07 Jan 2018)

  Changed paths:
    R cmake/Modules/FindCilk.cmake

  Log Message:
  -----------
  FindCilk not needed with icc. Cilk not interesting with icc.


  Commit: 43dd5eb6eb44df5650e7e89318c697b00605d0ec
      https://github.com/dyninst/dyninst/commit/43dd5eb6eb44df5650e7e89318c697b00605d0ec
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-07 (Sun, 07 Jan 2018)

  Changed paths:
    M common/h/IBSTree-fast.h
    M common/h/race-detector-annotations.h
    M common/src/arch-x86.C
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C
    M common/src/race-detector-annotations.C
    M common/src/singleton_object_pool.h
    M dataflowAPI/src/debug_dataflow.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  race-free version with specific fake locks.


  Commit: cfa7543fe2b52fc826a05a5f0b451a70b277f201
      https://github.com/dyninst/dyninst/commit/cfa7543fe2b52fc826a05a5f0b451a70b277f201
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-07 (Sun, 07 Jan 2018)

  Changed paths:
    M common/src/pfq-rwlock.C

  Log Message:
  -----------
  correct precise race detector annotations in phase-fair reader-writer lock


  Commit: 23c23303cce3b9fb1c737bcb670e0284e9e0a7dc
      https://github.com/dyninst/dyninst/commit/23c23303cce3b9fb1c737bcb670e0284e9e0a7dc
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-07 (Sun, 07 Jan 2018)

  Changed paths:
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  include race detector annotations in Symtab.C


  Commit: ec570aa0e577ac5ffd2fea87b6a6e8e4e5233cc6
      https://github.com/dyninst/dyninst/commit/ec570aa0e577ac5ffd2fea87b6a6e8e4e5233cc6
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-07 (Sun, 07 Jan 2018)

  Changed paths:
    M common/h/IBSTree-fast.h

  Log Message:
  -----------
  replace boost locks with phase-fair reader-writer locks

race detector annotations in phase-fair reader-writer lock suppress
race reports that would occur with boost reader/writer locks.


  Commit: 0451ad982bd301ac8f113584358447be76951c50
      https://github.com/dyninst/dyninst/commit/0451ad982bd301ac8f113584358447be76951c50
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-07 (Sun, 07 Jan 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  clean up race detection annotations for FuncExtent


  Commit: bcb01b9bdbcc8e11f4785fc88d41f543e88afb43
      https://github.com/dyninst/dyninst/commit/bcb01b9bdbcc8e11f4785fc88d41f543e88afb43
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-08 (Mon, 08 Jan 2018)

  Changed paths:
    M common/src/singleton_object_pool.h

  Log Message:
  -----------
  refined (and final) support for race detection for singleton object pool


  Commit: fef15a15ab38663b6455b03d63d8c0a20ed0d054
      https://github.com/dyninst/dyninst/commit/fef15a15ab38663b6455b03d63d8c0a20ed0d054
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-08 (Mon, 08 Jan 2018)

  Changed paths:
    M symtabAPI/src/Type.C

  Log Message:
  -----------
  fix indentation in Type.C


  Commit: 04b07505e1cb3e99519962541253b63809485ef6
      https://github.com/dyninst/dyninst/commit/04b07505e1cb3e99519962541253b63809485ef6
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-10 (Wed, 10 Jan 2018)

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

  Log Message:
  -----------
  finalize  race detector annotations for ParseData

remove annotations from IBSTree operations
use TBB concurrent hash map as fake lock protecting its operations
add missing annotations to cover all TBB concurrent hash map operations


  Commit: 075dd24f73ad6b42272e368758cea8154630de8c
      https://github.com/dyninst/dyninst/commit/075dd24f73ad6b42272e368758cea8154630de8c
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-10 (Wed, 10 Jan 2018)

  Changed paths:
    M common/h/IBSTree.h

  Log Message:
  -----------
  Merge branch 'new-parallel-parsing' of https://github.com/jmellorcrummey/dyninst into new-parallel-parsing


  Commit: 32075d0eac072ebda1db97af487bd0451d2c1544
      https://github.com/dyninst/dyninst/commit/32075d0eac072ebda1db97af487bd0451d2c1544
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-11 (Thu, 11 Jan 2018)

  Changed paths:
    M common/src/singleton_object_pool.h
    M instructionAPI/CMakeLists.txt
    M instructionAPI/h/ArchSpecificFormatters.h
    M instructionAPI/h/BinaryFunction.h
    M instructionAPI/h/Dereference.h
    M instructionAPI/h/Instruction.h
    M instructionAPI/src/ArchSpecificFormatters.C
    M instructionAPI/src/Immediate.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionDecoderImpl.C
    M instructionAPI/src/Register.C
    M parseAPI/CMakeLists.txt

  Log Message:
  -----------
  Move to tbb::scalable_alloc instead of boost::pool for small object allocation in InstructionAPI.

resolved conflict with common/src/singleton_object_pool.h by completely replacing old version
resolved build failure by adding tbbmalloc to libraries list in parseAPI/CMakeLists.txt


  Commit: a130b285f8727d7bb77041bb9d303d5946fc0d54
      https://github.com/dyninst/dyninst/commit/a130b285f8727d7bb77041bb9d303d5946fc0d54
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-11 (Thu, 11 Jan 2018)

  Changed paths:
    M common/src/singleton_object_pool.h

  Log Message:
  -----------
  remove dead code in singleton_object_pool.h


  Commit: bac1d36275e43f412eb3da9a063d4d257ca20fa0
      https://github.com/dyninst/dyninst/commit/bac1d36275e43f412eb3da9a063d4d257ca20fa0
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-01-11 (Thu, 11 Jan 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  remove lock guard on block map that causes deadlock.


  Commit: e6245ffa76b1ec13729624cb0cee8156ce624e87
      https://github.com/dyninst/dyninst/commit/e6245ffa76b1ec13729624cb0cee8156ce624e87
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-11 (Thu, 11 Jan 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  adjust switches to control cilk vs. openmp support


  Commit: 3006ed21ffbcb400d2cf19135cdf0088520865e8
      https://github.com/dyninst/dyninst/commit/3006ed21ffbcb400d2cf19135cdf0088520865e8
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M common/h/IBSTree-fast.h

  Log Message:
  -----------
  fix IBSTree-fast: add missing decl and missing unlock on one path


  Commit: 66efcc518cb676d449be6c3b17baa7f0462f6235
      https://github.com/dyninst/dyninst/commit/66efcc518cb676d449be6c3b17baa7f0462f6235
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  remove unnecessary lock guard in SymtabCodeSource::lookup_region


  Commit: 6a9dac78546f6a22cf7fdbd7cd4189b3eb0e4126
      https://github.com/dyninst/dyninst/commit/6a9dac78546f6a22cf7fdbd7cd4189b3eb0e4126
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-01-14 (Sun, 14 Jan 2018)

  Changed paths:
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  first attempt to add parallelism to symtab code source.


  Commit: e22b3c5d2be51472d1474ca62708aa13a980c4ab
      https://github.com/dyninst/dyninst/commit/e22b3c5d2be51472d1474ca62708aa13a980c4ab
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-01-15 (Mon, 15 Jan 2018)

  Changed paths:
    M common/src/linuxKludges.C

  Log Message:
  -----------
  remove unnecessary mutex guard around C++ demangler


  Commit: 85e16bbd05fecb2b1b11b68835357f65150f738d
      https://github.com/dyninst/dyninst/commit/85e16bbd05fecb2b1b11b68835357f65150f738d
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-01-15 (Mon, 15 Jan 2018)

  Changed paths:
    M parseAPI/h/CodeSource.h
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  add openmp parallelism to SymtabCodeSource init_regions and init_hints

to avoid serialization in these parallel regions, replaced mutual
exclusion in symtab queries with phase-fair read locks.


  Commit: de0889c727885887d12799d9fa692d91bf82c64f
      https://github.com/dyninst/dyninst/commit/de0889c727885887d12799d9fa692d91bf82c64f
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-01-17 (Wed, 17 Jan 2018)

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

  Log Message:
  -----------
  Fix places where we fail to check for empty section headers/no shstrtab section.


  Commit: eaa312c96d59f6e797fe38be0c5b984f3318e40b
      https://github.com/dyninst/dyninst/commit/eaa312c96d59f6e797fe38be0c5b984f3318e40b
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-01-24 (Wed, 24 Jan 2018)

  Changed paths:
    M parseAPI/h/CodeSource.h

  Log Message:
  -----------
  refine CodeRegion:;contains so that offset() is not called redundantly


  Commit: 77af45e37d2a0a8064f65ab029567ff53f34118e
      https://github.com/dyninst/dyninst/commit/77af45e37d2a0a8064f65ab029567ff53f34118e
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-01-24 (Wed, 24 Jan 2018)

  Changed paths:
    M parseAPI/h/LockFreeQueue.h

  Log Message:
  -----------
  add debugging support to LockFreeQueue.h


  Commit: 53a61df3abf40b319ca52b95e6658b78cdcab08f
      https://github.com/dyninst/dyninst/commit/53a61df3abf40b319ca52b95e6658b78cdcab08f
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-01-24 (Wed, 24 Jan 2018)

  Changed paths:
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  add draft parallelization of parse frames creation


  Commit: 5d066e78c6300ec18c6355494b41804d4b0293eb
      https://github.com/dyninst/dyninst/commit/5d066e78c6300ec18c6355494b41804d4b0293eb
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-01-24 (Wed, 24 Jan 2018)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  Parallelize iteration over module DIEs.


  Commit: 173c9a1f64e2aa96290edca840c8a305e82d7059
      https://github.com/dyninst/dyninst/commit/173c9a1f64e2aa96290edca840c8a305e82d7059
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-01-24 (Wed, 24 Jan 2018)

  Changed paths:
    M cmake/options.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake

  Log Message:
  -----------
  Converted more hidden options to proper options.


  Commit: 05aeee229ec9f1ef1d65863a09ee2c592bf2d9d3
      https://github.com/dyninst/dyninst/commit/05aeee229ec9f1ef1d65863a09ee2c592bf2d9d3
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-24 (Wed, 24 Jan 2018)

  Changed paths:
    M parseAPI/h/CodeSource.h

  Log Message:
  -----------
  correct the include path for tbb hash map


  Commit: d55651bce00fd9ab6b46e44d123546dac15080d2
      https://github.com/dyninst/dyninst/commit/d55651bce00fd9ab6b46e44d123546dac15080d2
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-24 (Wed, 24 Jan 2018)

  Changed paths:
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  use cilk to eliminate a data race in SymtabCodeSource.C

add configuration that enables cilk and openmp to coexist
so the programming model can be flipped with a cmake setting

eliminate an inconsequential data race that occurred when
marking an item as "seen" more than once in a tbb concurrent
hash table.


  Commit: 033872a77aec11af6811bdb225ed584f97236ebc
      https://github.com/dyninst/dyninst/commit/033872a77aec11af6811bdb225ed584f97236ebc
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-24 (Wed, 24 Jan 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  refine cilk configuration of Parser.C for data race detection

add a lock for cilkscreen that causes a deadlock in openmp.
is this really correct?

fix cilk configuration for lock free queue.


  Commit: 5c53059bf61ff75f611f9f7cad06b06b57650a9d
      https://github.com/dyninst/dyninst/commit/5c53059bf61ff75f611f9f7cad06b06b57650a9d
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-24 (Wed, 24 Jan 2018)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  bill's changes to parallelize symtab.


  Commit: f4e87efbafe6b44bc4105be91e47040e315cb71c
      https://github.com/dyninst/dyninst/commit/f4e87efbafe6b44bc4105be91e47040e315cb71c
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-24 (Wed, 24 Jan 2018)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  bill's changes to parallelize symtab.


  Commit: 0edbc2672d0679e75cb9df7f743925be23515bfc
      https://github.com/dyninst/dyninst/commit/0edbc2672d0679e75cb9df7f743925be23515bfc
  Author: John Mellor-Crummey <jmellorcrummey@xxxxxxxxxxx>
  Date:   2018-01-24 (Wed, 24 Jan 2018)

  Log Message:
  -----------
  Merge branch 'new-parallel-parsing' of https://github.com/jmellorcrummey/dyninst into new-parallel-parsing

Conflicts:
	symtabAPI/src/dwarfWalker.C


  Commit: e5e1a39dee3be19b8459685adaa0a015b4976920
      https://github.com/dyninst/dyninst/commit/e5e1a39dee3be19b8459685adaa0a015b4976920
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-02-04 (Sun, 04 Feb 2018)

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

  Log Message:
  -----------
  simplify openmp parallelization in Parser.C


  Commit: 988d0482f79325f9bdb6c1f948f43adc1a6a72df
      https://github.com/dyninst/dyninst/commit/988d0482f79325f9bdb6c1f948f43adc1a6a72df
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-02-08 (Thu, 08 Feb 2018)

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

  Log Message:
  -----------
  adjust lazy initialization of rose register semantic to be thread safe using call_once


  Commit: 6f8f55d7b7ff94192382fb0872e2a37fa5419684
      https://github.com/dyninst/dyninst/commit/6f8f55d7b7ff94192382fb0872e2a37fa5419684
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-02-08 (Thu, 08 Feb 2018)

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

  Log Message:
  -----------
  avoid initializing c++ object in an inner scope, which requires synchronization


  Commit: 8ec9fd7251947a844334ae709e784066110053ca
      https://github.com/dyninst/dyninst/commit/8ec9fd7251947a844334ae709e784066110053ca
  Author: John Mellor-Crummey <johnmc@xxxxxxxx>
  Date:   2018-02-08 (Thu, 08 Feb 2018)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  add guard around cilk include file


  Commit: f075aac4ddd10bec5b676a1196d454a7e9964def
      https://github.com/dyninst/dyninst/commit/f075aac4ddd10bec5b676a1196d454a7e9964def
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-02-09 (Fri, 09 Feb 2018)

  Changed paths:
    M CMakeLists.txt
    M common/CMakeLists.txt
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/Operation.C
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  Cleanup: remove dead code, use call_once for singleton-style init


  Commit: b12f0cb69e2d5b05978ef539c83cd3b6aed1a740
      https://github.com/dyninst/dyninst/commit/b12f0cb69e2d5b05978ef539c83cd3b6aed1a740
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-02-20 (Tue, 20 Feb 2018)

  Changed paths:
    M .gitmodules
    R cmake/Modules/FindCilk.cmake
    A cmake/endian.cmake
    M cmake/shared.cmake
    M common/CMakeLists.txt
    M common/h/IBSTree-fast.h
    M common/h/IBSTree.h
    A common/h/mcs-lock.h
    A common/h/pfq-rwlock.h
    A common/h/race-detector-annotations.h
    M common/src/arch-x86.C
    M common/src/linuxKludges.C
    A common/src/mcs-lock.C
    A common/src/pfq-rwlock.C
    A common/src/race-detector-annotations.C
    M common/src/singleton_object_pool.h
    M dataflowAPI/rose/semantics/Registers.C
    M dataflowAPI/src/debug_dataflow.C
    M dataflowAPI/src/debug_dataflow.h
    M dataflowAPI/src/liveness.C
    M dataflowAPI/src/slicing.C
    M dataflowAPI/src/stackanalysis.C
    M instructionAPI/src/InstructionAST.C
    M parseAPI/h/CFG.h
    M parseAPI/h/CFGFactory.h
    M parseAPI/h/CodeSource.h
    A parseAPI/h/LockFreeQueue.h
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableIndexPred.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C
    M parseAPI/src/SymbolicExpression.C
    M parseAPI/src/SymbolicExpression.h
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Module.C
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/Type-mem.h
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/parseDwarf.C
    A testsuite

  Log Message:
  -----------
  Merge John's changes and update test suite.


  Commit: f5d27cde21e22a60c4c89d7020892c181da05983
      https://github.com/dyninst/dyninst/commit/f5d27cde21e22a60c4c89d7020892c181da05983
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-02-21 (Wed, 21 Feb 2018)

  Changed paths:
    M CMakeLists.txt
    M common/src/arch-x86.C
    M elf/src/Elf_X.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M symtabAPI/src/Object-elf.C

  Log Message:
  -----------
  Checkpoint for ARM testing


  Commit: e8c29f1f7e4939537dddd185e461560980cb6eca
      https://github.com/dyninst/dyninst/commit/e8c29f1f7e4939537dddd185e461560980cb6eca
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-03-06 (Tue, 06 Mar 2018)

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

  Log Message:
  -----------
  Symtab fixes for ARM


  Commit: d7ffeaf3e0365ff384a9d158048f08d462a685ec
      https://github.com/dyninst/dyninst/commit/d7ffeaf3e0365ff384a9d158048f08d462a685ec
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M dyninstAPI/src/parse-cfg.h
    M dyninstAPI/src/parse-x86.C
    M parseAPI/h/CFG.h
    M parseAPI/h/CFGFactory.h
    M parseAPI/src/Block.C
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/Function.C
    M parseAPI/src/ParseCallback.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C
    M parseAPI/src/ProbabilisticParser.C
    M patchAPI/src/ParseCallback.C

  Log Message:
  -----------
  ParseAPI fixes: test1_1 create now passes


  Commit: 1c068645ed65b7686d3f4fe0268edb30a3f9a2fc
      https://github.com/dyninst/dyninst/commit/1c068645ed65b7686d3f4fe0268edb30a3f9a2fc
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  Fix for libelf install glob


  Commit: d22059555da650b846935b7eb92341b4923d0a4a
      https://github.com/dyninst/dyninst/commit/d22059555da650b846935b7eb92341b4923d0a4a
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

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

  Log Message:
  -----------
  Fix unsafe iteration


  Commit: d2c8c4749c201ab1b145a0e4b0f2d883b13e6592
      https://github.com/dyninst/dyninst/commit/d2c8c4749c201ab1b145a0e4b0f2d883b13e6592
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-03-13 (Tue, 13 Mar 2018)

  Changed paths:
    M stackwalk/src/linux-aarch64-swk.C

  Log Message:
  -----------
  Disable testing code


  Commit: a0f6a2054edbdd7cbaded2871c956b94b550e4de
      https://github.com/dyninst/dyninst/commit/a0f6a2054edbdd7cbaded2871c956b94b550e4de
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-03-19 (Mon, 19 Mar 2018)

  Changed paths:
    M stackwalk/src/framestepper.C
    M stackwalk/src/linux-aarch64-swk.C

  Log Message:
  -----------
  SW cleanup


  Commit: 7028657609bfa4646c58266d330019e97f9593c2
      https://github.com/dyninst/dyninst/commit/7028657609bfa4646c58266d330019e97f9593c2
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-04-03 (Tue, 03 Apr 2018)

  Changed paths:
    M CMakeLists.txt
    M cmake/shared.cmake
    A examples/CMakeLists.txt

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


  Commit: 877cfc58fea07acbe4d44e561628739cff0abe6c
      https://github.com/dyninst/dyninst/commit/877cfc58fea07acbe4d44e561628739cff0abe6c
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-04-05 (Thu, 05 Apr 2018)

  Changed paths:
    M dataflowAPI/src/liveness.C
    M dyninstAPI/src/Parsing.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  Fixes for test crashes


  Commit: 5d1ee6d5d654a58c5fdf0945de33590d811d186f
      https://github.com/dyninst/dyninst/commit/5d1ee6d5d654a58c5fdf0945de33590d811d186f
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-04-16 (Mon, 16 Apr 2018)

  Changed paths:
    M common/h/dyn_regs.h
    M common/h/entryIDs.h
    M common/src/dyn_regs.C
    M dataflowAPI/rose/semantics/DispatcherPowerpc.C
    M dataflowAPI/src/liveness.C
    M dwarf/src/dwarfFrameParser.C
    M dwarf/src/dwarfHandle.C
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/syscallNotification.C
    M elf/h/Elf_X.h
    M elf/src/Elf_X.C
    M 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/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h
    M instructionAPI/src/power_opcode_tables.C
    M parseAPI/src/Block.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 proccontrol/src/process.C
    M symtabAPI/h/Module.h
    M symtabAPI/src/Module.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/emitElf.C
    M testsuite

  Log Message:
  -----------
  Merge, fix test4_3, fix examples build


  Commit: a362bea48a4ffc9ae14d470873161d6f38d26e30
      https://github.com/dyninst/dyninst/commit/a362bea48a4ffc9ae14d470873161d6f38d26e30
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2018-04-16 (Mon, 16 Apr 2018)

  Changed paths:
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.C
    M examples/CMakeLists.txt
    M examples/unstrip/callback.C
    M examples/unstrip/fingerprint.C
    M examples/unstrip/types.h
    M examples/unstrip/util.C
    M examples/unstrip/util.h
    M parseAPI/doc/example.cc
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C
    M stackwalk/src/linux-aarch64-swk.C
    M stackwalk/src/linux-x86-swk.C

  Log Message:
  -----------
  Merge, fix test4_3, fix examples build


  Commit: 4a18865eec4b7a72edea7363a8d0d525ef6366d1
      https://github.com/dyninst/dyninst/commit/4a18865eec4b7a72edea7363a8d0d525ef6366d1
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-04-25 (Wed, 25 Apr 2018)

  Changed paths:
    M cmake/Modules/FindTBB.cmake
    M cmake/packages.cmake
    M common/src/arch-x86.C
    M dyninstAPI/src/Relocation/Widgets/CFPatch.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.h
    M examples/CMakeLists.txt
    M instructionAPI/src/Instruction.C
    M parseThat/CMakeLists.txt

  Log Message:
  -----------
  1. Clean up CMake files for finding and linking boost and CMake files
for examples
2. Instruction prefix decoding on x86 should not default to 32-bit
3. m_Suceessors in the InstructionAPI::Instruction class is not copied in the assignment
operator and copy constructor
4. Because InstructionAPI::Instruction objects are now copied by value,
the raw bytes of an instruction may now live on stack and the pointer to
these raw bytes are not persistent.


  Commit: c4914b9d149c61b0405028d797b5653381a66b87
      https://github.com/dyninst/dyninst/commit/c4914b9d149c61b0405028d797b5653381a66b87
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-08 (Tue, 08 May 2018)

  Changed paths:
    M parseAPI/src/CodeSource.C
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.h
    M testsuite

  Log Message:
  -----------
  1. Add more non-returning functions
2. Conditional tail call should be treated as a call work element
3. Need to record block boundary during finalizing
4. Fix edge linking for function calls


  Commit: b85c7f75d4bb0f1a2191c53285718dde1bc7fa89
      https://github.com/dyninst/dyninst/commit/b85c7f75d4bb0f1a2191c53285718dde1bc7fa89
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-09 (Wed, 09 May 2018)

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

  Log Message:
  -----------
  Need to decode REX prefix when determining which bytes to change for
relocation


  Commit: 8873ef0b4eb32b12a30e37f4f2db0f89252f47eb
      https://github.com/dyninst/dyninst/commit/8873ef0b4eb32b12a30e37f4f2db0f89252f47eb
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-09 (Wed, 09 May 2018)

  Changed paths:
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  1. For each new block generated during spliting, we should also mark the
new block visited because the boundary of the new block has been
determined.

2. Properly set up virtual functions to lookup frame status


  Commit: 93cc790a61d2f8c91ba2c7a7d6b63695e7027daf
      https://github.com/dyninst/dyninst/commit/93cc790a61d2f8c91ba2c7a7d6b63695e7027daf
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-10 (Thu, 10 May 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  1. If finalizing a function needs to invoke a parse, it should invoke
the version that allows overlapping regions.

2. Properly handle the case where an edge split its into own source


  Commit: 654a50debd3523a7616a634668d860d00fbf1aa9
      https://github.com/dyninst/dyninst/commit/654a50debd3523a7616a634668d860d00fbf1aa9
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-15 (Tue, 15 May 2018)

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

  Log Message:
  -----------
  Should not just treat unbinded registers as 0 when convering
instructions to assignments


  Commit: f8ee89d864a9246118960b5186790bbe21ba3427
      https://github.com/dyninst/dyninst/commit/f8ee89d864a9246118960b5186790bbe21ba3427
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-21 (Mon, 21 May 2018)

  Changed paths:
    M instructionAPI/h/Operation_impl.h
    M instructionAPI/src/Operation.C
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/IA_x86.C

  Log Message:
  -----------
  1. Reduce duplicated read/written registers
2. Tail call target may not be parsed during the lookup


  Commit: e440a24a285dae8111e4562214f8c7681e569d06
      https://github.com/dyninst/dyninst/commit/e440a24a285dae8111e4562214f8c7681e569d06
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-22 (Tue, 22 May 2018)

  Changed paths:
    M CMakeLists.txt
    M instructionAPI/h/Operation_impl.h
    M instructionAPI/src/Operation.C

  Log Message:
  -----------
  Fix implicit operands


  Commit: 5016030458c1def8587d06d1324cea6e1c65e3ba
      https://github.com/dyninst/dyninst/commit/5016030458c1def8587d06d1324cea6e1c65e3ba
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-29 (Tue, 29 May 2018)

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

  Log Message:
  -----------
  std::once_flag should not be declared as local variables


  Commit: 9f497d9590bfef991005b57c4ef971b7314d5bed
      https://github.com/dyninst/dyninst/commit/9f497d9590bfef991005b57c4ef971b7314d5bed
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-29 (Tue, 29 May 2018)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/src/Function.C

  Log Message:
  -----------
  Change function return status to std::atomic to avoid races and deadlock


  Commit: d62e3491ac546cfc6964219fa86f4a9e39718863
      https://github.com/dyninst/dyninst/commit/d62e3491ac546cfc6964219fa86f4a9e39718863
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-05-31 (Thu, 31 May 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Fix handling of changing function return status and checking of cyclic
dependencies
1. Even blocked frame can have a changed return status, so need to
resume delayed caller
2. Due to parallel parsing, when a thread parses a call site, the
callee may still have a UNSET return status, and the callee is being
parsed by another thread. When all threads' work is done, the UNSET
return status is expired, and we need to revalidate delayed work


  Commit: 67fce2e5d95c1e999e94e82765a334eaab6ef4a2
      https://github.com/dyninst/dyninst/commit/67fce2e5d95c1e999e94e82765a334eaab6ef4a2
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-06-11 (Mon, 11 Jun 2018)

  Changed paths:
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/ParserDetails.C
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  Revisit locking for parallel parsing

1. We sometimes need to check whether a frame exists or not, and only
create a new frame when it does not exist. The lookup and the creation
should be one atomic operation. Parser::createAndRecordFrame implements
this atomic operation.
2. Similarly, Parser::createAndRecordFunc atomically creates a function
when it does not exist.
3. record_block is should require locking because multiple threads may
parse the same address.
4. The parse of a frame and the post-processing of a frame should be one
atomic operation. Right now, we use a scoped lock for this.
5. We should first initialize a frame before updating the frame status
or record the frame. Updating frame status or recording frame make the
frame available to other threads.


  Commit: 902261cef12a7c21b0b1936b7bf824384e9442e3
      https://github.com/dyninst/dyninst/commit/902261cef12a7c21b0b1936b7bf824384e9442e3
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-06-11 (Mon, 11 Jun 2018)

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

  Log Message:
  -----------
  We should not need finalize_block as the block should have been splited
during parsing.

Also delete some unnecessary code


  Commit: 49a4f51e6ab03d2473392074f3f60e51e06cde0f
      https://github.com/dyninst/dyninst/commit/49a4f51e6ab03d2473392074f3f60e51e06cde0f
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-06-11 (Mon, 11 Jun 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  When updating block ends, also need to update block range lookups


  Commit: eb0953387dde0c0514d4b3b0d0a5e2181a000836
      https://github.com/dyninst/dyninst/commit/eb0953387dde0c0514d4b3b0d0a5e2181a000836
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-06-11 (Mon, 11 Jun 2018)

  Changed paths:
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Refactor ParseFrame::leadersToBlock from a hash map to a std::map so
that when we try to find a block that may contains an address, we do not
need to iterate every iten in the map. Instead, we can just use
upper_bound or lower_bound to find the only candidate


  Commit: 3385cd6c252270ad7c92dc5550e149a3b0c1566f
      https://github.com/dyninst/dyninst/commit/3385cd6c252270ad7c92dc5550e149a3b0c1566f
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-06-19 (Tue, 19 Jun 2018)

  Changed paths:
    M CMakeLists.txt
    M parseAPI/src/Block.C
    M parseAPI/src/Function.C

  Log Message:
  -----------
  1. Do not make testsuite a requirement for installing dyninst
2. After parallel parsing, we should not need locks for read operations


  Commit: 86fbb589e2dc5163364738c552bbb2bb568a3b1a
      https://github.com/dyninst/dyninst/commit/86fbb589e2dc5163364738c552bbb2bb568a3b1a
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-06-20 (Wed, 20 Jun 2018)

  Changed paths:
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  1. IFUNC is real code
2. remove unused std::map (it is only written), which is not thread-safe and may cause crashes


  Commit: 55d04addfc93bf505915f734517ebc6e8adc2475
      https://github.com/dyninst/dyninst/commit/55d04addfc93bf505915f734517ebc6e8adc2475
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-06-29 (Fri, 29 Jun 2018)

  Changed paths:
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  ParseData::record_block should not need locking. We should rely on the return value of concurrent_hash_map::insert to determine which thread succeeds in inserting and which threads failed. The failed threads should just use the already inserted block and give up insertion


  Commit: 7b75dd2f75199ac2ef0706c7f7c5f07fe3401002
      https://github.com/dyninst/dyninst/commit/7b75dd2f75199ac2ef0706c7f7c5f07fe3401002
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-01 (Sun, 01 Jul 2018)

  Changed paths:
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IA_power.C
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Defer constructing blocksByRange to function finalizing, and removing the use blocksByRange in tail call identificatin and jump table analysis


  Commit: 4f1da48f606a44aada6d9cebb1fdecc113216dac
      https://github.com/dyninst/dyninst/commit/4f1da48f606a44aada6d9cebb1fdecc113216dac
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-04 (Wed, 04 Jul 2018)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  Parallelize function finalizing


  Commit: 890a2b9c12b6c13fb4ef39513507d05b28038493
      https://github.com/dyninst/dyninst/commit/890a2b9c12b6c13fb4ef39513507d05b28038493
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-05 (Thu, 05 Jul 2018)

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

  Log Message:
  -----------
  The static ABI pointers should be thread local


  Commit: 673a947c521464bdb38bef8622b0c74563e35ac0
      https://github.com/dyninst/dyninst/commit/673a947c521464bdb38bef8622b0c74563e35ac0
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-06 (Fri, 06 Jul 2018)

  Changed paths:
    M common/h/dyntypes.h
    M dataflowAPI/h/ABI.h
    M dataflowAPI/src/ABI.C
    M instructionAPI/h/BinaryFunction.h
    M instructionAPI/h/Dereference.h
    M instructionAPI/h/Result.h
    M instructionAPI/src/ArchSpecificFormatters.C
    M instructionAPI/src/Operand.C
    M instructionAPI/src/Register.C
    M parseAPI/src/SymtabCodeSource.C
    M symtabAPI/src/dwarfWalker.C
    R testsuite

  Log Message:
  -----------
  1. More static variables should be declared in TLS
2. std::stringstream is not thread-safe, even using two separate objects
concurrently may cause crashes
3. Disable parallel dwarf parsing
4. Remove testsuite as a submodule


  Commit: 6c86e9a4201eb5921574ccc636512daf9058688c
      https://github.com/dyninst/dyninst/commit/6c86e9a4201eb5921574ccc636512daf9058688c
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-06 (Fri, 06 Jul 2018)

  Changed paths:
    M common/src/arch-aarch64.h
    M common/src/arch-power.h
    M dyninstAPI/src/BPatch_memoryAccessAdapter.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-ppc.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/parse-power.C
    M instructionAPI/src/Operation.C

  Log Message:
  -----------
  Fix compilation issue on powerpc


  Commit: 671d64185561686d13e546c9827d11b096dd5c73
      https://github.com/dyninst/dyninst/commit/671d64185561686d13e546c9827d11b096dd5c73
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-09 (Mon, 09 Jul 2018)

  Changed paths:
    M dyninstAPI/src/Relocation/Widgets/CFWidget-aarch64.C
    M dyninstAPI/src/inst-aarch64.C
    M stackwalk/src/linux-aarch64-swk.C

  Log Message:
  -----------
  Fix compilation on ARM


  Commit: b869b502770e9a8872d121b9ae77b451698e7941
      https://github.com/dyninst/dyninst/commit/b869b502770e9a8872d121b9ae77b451698e7941
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-16 (Mon, 16 Jul 2018)

  Changed paths:
    M common/src/linuxKludges.C
    M dataflowAPI/src/slicing.C
    M parseAPI/h/CFG.h
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  Start to use cilk data race detectors:
1. Fix real races where getting block source edges in slicing is not
locked
2. Suppress false positves. Cilk race detectors cannot deal with thread
local bariables


  Commit: 8323ae71e91cefbe91268c889f55e4e13a45afee
      https://github.com/dyninst/dyninst/commit/8323ae71e91cefbe91268c889f55e4e13a45afee
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-17 (Tue, 17 Jul 2018)

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

  Log Message:
  -----------
  Make other static variables in ABI class be thread local


  Commit: ccebb687f1f2a893755ea1bb2970d1eeb9cb32a4
      https://github.com/dyninst/dyninst/commit/ccebb687f1f2a893755ea1bb2970d1eeb9cb32a4
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-23 (Mon, 23 Jul 2018)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/h/LockFreeQueue.h
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/Function.C
    M parseAPI/src/ParseData.C

  Log Message:
  -----------
  More annotation code to suppress false positives of data race reports
from cilkscreen

1. add fake locking for std::atomic
2. remove access history for objects initialized by one thread and then
shared


  Commit: 90304602fcc4b2f61f8834861b71832d8f2c3135
      https://github.com/dyninst/dyninst/commit/90304602fcc4b2f61f8834861b71832d8f2c3135
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-23 (Mon, 23 Jul 2018)

  Changed paths:
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  Should not parallelize SymtabCodeSource::init_hints, which basically
appending elements to a shared vector. Right now, almost all threads are
ideal to wait for lock to append.


  Commit: 698f5b8996071695b250307c376dca62633f888b
      https://github.com/dyninst/dyninst/commit/698f5b8996071695b250307c376dca62633f888b
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-24 (Tue, 24 Jul 2018)

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

  Log Message:
  -----------
  Refactor frame status setter/getter to suppress false positive data
races


  Commit: a89e8c9d74f0f5582389f6446aecfed5d99a2162
      https://github.com/dyninst/dyninst/commit/a89e8c9d74f0f5582389f6446aecfed5d99a2162
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-07-30 (Mon, 30 Jul 2018)

  Changed paths:
    M common/h/IBSTree.h
    M common/h/mcs-lock.h
    M common/h/pfq-rwlock.h
    M common/src/mcs-lock.C
    M common/src/pfq-rwlock.C
    M dataflowAPI/h/ABI.h
    M dataflowAPI/src/ABI.C
    M parseAPI/h/CFG.h
    M parseAPI/h/CodeSource.h
    M parseAPI/h/LockFreeQueue.h
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.h
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  1. Replace std::atomic with boost::atomic so that gcc 4.8.5 can still compile dyninst
2. Only put pointers to thread local so that newer compilers can also compile __thread


  Commit: 1e30a1200d2aef0b46b048088d99a7dd99ff5675
      https://github.com/dyninst/dyninst/commit/1e30a1200d2aef0b46b048088d99a7dd99ff5675
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-08-05 (Sun, 05 Aug 2018)

  Changed paths:
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IA_power.C
    M parseAPI/src/IA_x86.C
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  Fix undeterministic tail call identification results exposed in parallel code parsing

The tail call identification algorithm contains two related heuristics:
(1) A jump to a block within the same function is not a tail call
(2) A jump to a known entry point is a tail call

For (1), whether or not the jump target is within the current function depends on
the parsing order of other functions, especially the callee functions. To have a
consistent tail call identification results, I add a tail call cleaning phase in
the parsing finalizing phase. Because we already know the complete function
boundary at function finalizing time, we can rectify the bogus tail calls and
removed the functions caused by those bogus tail calls.

For (2), if a known entry point is created by a bogus tail call, (2) will lead to
more bogus tail calls. This is exposed by a special case. Suppose function A
contains multiple jumps to block B. Block B has no incoming edges from any other
function, nor does it has a symbol associated. So, B should be part of A. One of
the jump in A (denoted as J1) will be marked as tail call because it tears down
the stack frame before the jump, while other jumps (denoted as non-J1) will not
be marked as tail calls. If J1 is parsed before non-J1, block B will be marked as
a tail call entry, and all non-J1 will be marked as tail calls because they jump
to ``a known entry''. Function A will thus not contain B, and the rectify method
mentioned in the previous parapgraph will not work. So, I change to only mark a
jump as a tail call when the target is a hint.


  Commit: 0dc63035bdeaa71f896cdda09e8659cc8155e9ae
      https://github.com/dyninst/dyninst/commit/0dc63035bdeaa71f896cdda09e8659cc8155e9ae
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-08-06 (Mon, 06 Aug 2018)

  Changed paths:
    M dataflowAPI/src/RegisterMap.C

  Log Message:
  -----------
  The register map should also be in TLS


  Commit: 21c93abcd5fd918c78354a9ae960e2d4310baa91
      https://github.com/dyninst/dyninst/commit/21c93abcd5fd918c78354a9ae960e2d4310baa91
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-08-14 (Tue, 14 Aug 2018)

  Changed paths:
    M dataflowAPI/src/slicing.C

  Log Message:
  -----------
  Should not trigger finalizing during slicing


  Commit: c3a1400592a7aad6136b4f0662d0f8b7971474a7
      https://github.com/dyninst/dyninst/commit/c3a1400592a7aad6136b4f0662d0f8b7971474a7
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-08-23 (Thu, 23 Aug 2018)

  Changed paths:
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/slicing.C
    M parseAPI/h/CFG.h
    M parseAPI/h/CFGFactory.h
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/IndirectAnalyzer.h
    M parseAPI/src/JumpTableIndexPred.C
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  After carefully comparing the parsing output of runs with different
numbers of threads and examining the debug logs, there are many issues:

1. During parallel parsing, we split a block when the block has an
incoming edge within the block range. However, we do not split a block
if the edge jumps into the block range of a block from another function.
So, at finalizing time, we should split such overlapped blocks. An
alternative here is to split a block from another function at parsing
time, which requires a global range lookup and will cause mutual
exclusion in parallel parsing.

2. The jump table analysis is not working properly for many reasons...
2.A. When generating Absloc, we should not bind SP or FP when stack
     analysis is not enabled. Otherwise, the default value for binding
     SP and FP is 0, causing wrong abstract locations.

2.B. Slicing should no longer use SingleContextOrInterproc because
     SingleContextOrInterproc relies on a complete function boundary,
     which is not the case when the jump table analysis invokes slicing.
     Slicing should just traverse all source edges and let the slicing
     predicate determine whether or not to follow interprocedural edges.

2.C. Slicing should treat tail calls as function calls rather than normal jumps.

2.D The jump table analysis needs to traverse the CFG from function entry.
    For blocks shared by multiple functions, the outgoing edges may be changed
    during the jump table analysis. So, we should make a copy of the outgoing
    edges before traversing and the copy operation should have locking. Here,
    an alternative is to lock the block during traversing, but I feel this
    alternative may cause too much lock contention.

2.E We should ignore CATCH edges because they do not represent real
    control flow.

2.F We should distinguish zero extend and sign extend memory reads.


  Commit: 675311c69a546943b131aa00294b41fe286e83e3
      https://github.com/dyninst/dyninst/commit/675311c69a546943b131aa00294b41fe286e83e3
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-08-27 (Mon, 27 Aug 2018)

  Changed paths:
    M cmake/packages.cmake

  Log Message:
  -----------
  Automatically build boost_atomic


  Commit: 0b80af0577148e723e9a7b2d9d714dc46d0c9b7a
      https://github.com/dyninst/dyninst/commit/0b80af0577148e723e9a7b2d9d714dc46d0c9b7a
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-08-27 (Mon, 27 Aug 2018)

  Changed paths:
    M dataflowAPI/src/ABI.C

  Log Message:
  -----------
  Fix typos for compilation


  Commit: 83855db1d9025169fba1e6b1e9ce114fc8eb5d81
      https://github.com/dyninst/dyninst/commit/83855db1d9025169fba1e6b1e9ce114fc8eb5d81
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-10 (Mon, 10 Sep 2018)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/src/Block.C
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/Function.C
    M parseAPI/src/IA_power.C
    M parseAPI/src/Parser.C
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  Fix non-deterministic parallel parsing on POWER 8. The problems are
mostly related to the new ABI, where each function has two entries.

1. Tail call heuristics need to find the function with a normal
   function name
2. A function having two entries cause many ParseAPI::Function to
   share code. This exposes issues in our non-returning function
   analysis.

   2.A. The two ParseAPI::Function should have the same return status.
  I just let one ParseAPI::Function delayed by the other.
   2.B. No longer use UNKNOWN status. UNKNOWN should just be RETURN
  as we do not know the control flow, so we should assume the
  function may return.


  Commit: b5639285aaa40a4b80d0522078d73c5e3f9ff98c
      https://github.com/dyninst/dyninst/commit/b5639285aaa40a4b80d0522078d73c5e3f9ff98c
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-11 (Tue, 11 Sep 2018)

  Changed paths:
    M cmake/packages.cmake
    M common/h/IBSTree.h
    M common/h/dyn_regs.h
    M common/src/arch-aarch64.C
    M common/src/arch-aarch64.h
    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/x86_64InstructionSemantics.h
    M dataflowAPI/src/liveness.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/unix.C
    M elf/h/Elf_X.h
    M elf/src/Elf_X.C
    M instructionAPI/h/InstructionCategories.h
    M instructionAPI/h/Operation_impl.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-x86.C
    M instructionAPI/src/Operation.C
    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/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  Merge branch 'master' into new-parallel-parsing. Also make changes to
fix compilation


  Commit: f4271d42476bd9c07a5b1eafb884c409f1859fb5
      https://github.com/dyninst/dyninst/commit/f4271d42476bd9c07a5b1eafb884c409f1859fb5
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-11 (Tue, 11 Sep 2018)

  Changed paths:
    M dyninstAPI/src/parse-cfg.C

  Log Message:
  -----------
  Parallel code parsing needs to record the function that creates a block.

Adjust parse_block in dyninstAPI to this code change.


  Commit: 0417da02415ee7bacd138414b20ede72723b6a09
      https://github.com/dyninst/dyninst/commit/0417da02415ee7bacd138414b20ede72723b6a09
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-12 (Wed, 12 Sep 2018)

  Changed paths:
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/BPatch_point.C
    M dyninstAPI/src/block.h
    M dyninstAPI/src/image.C
    M dyninstAPI/src/parse-cfg.C
    M dyninstAPI/src/parse-cfg.h
    M instructionAPI/h/Operation_impl.h
    M instructionAPI/src/Operation.C
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  1. Re-implement the power preabmle identification code, instead of checking format string,
   we directly check the first 2 bytes

2. Fix instruction mnemonic output on power 8

3. Call Function::finalize() to re-calculate function data


  Commit: ba3b4e5e4d42c4b40a9cc6e16a4cf396e50bfc52
      https://github.com/dyninst/dyninst/commit/ba3b4e5e4d42c4b40a9cc6e16a4cf396e50bfc52
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-13 (Thu, 13 Sep 2018)

  Changed paths:
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Two more fixes for parallel parsing

1. There is one reference to Block source edges that lacks locking

2. Only the function frame that creates a block should parse the block


  Commit: 430c9b08575a23dc0a69dd56c602084bedf21d86
      https://github.com/dyninst/dyninst/commit/430c9b08575a23dc0a69dd56c602084bedf21d86
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-14 (Fri, 14 Sep 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Fix typo: missed an "else" before an if statement


  Commit: 3fb9fdde7c23f40b987db2250ca3b34d84155a02
      https://github.com/dyninst/dyninst/commit/3fb9fdde7c23f40b987db2250ca3b34d84155a02
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-14 (Fri, 14 Sep 2018)

  Changed paths:
    M dataflowAPI/src/AbslocInterface.C
    M parseAPI/src/IndirectAnalyzer.C

  Log Message:
  -----------
  1. Do not promote individual flag bits such as ZF to the full flag register
   when converting InstructionAPI::Instruction to Assignment. Jump table
   analysis checks zero flags.

2. When parsing a jump table, we use symbol table to trim out of range jump
   targets to remove bogus targets. When functions share code, we need to pick
   the symbol range that contains the indirect jump to do the trimming.


  Commit: cdfa6bd2cd07ccc4e0551fe4a1fb047a11131465
      https://github.com/dyninst/dyninst/commit/cdfa6bd2cd07ccc4e0551fe4a1fb047a11131465
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-14 (Fri, 14 Sep 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Handle non-deterministic CFG edges.

1. During spliting blocks, only move edges when we created a new block.

2. The tail call heuristic says if the block is a function entry and the
   entry blocks contains only one jump instruction, the jump should be a
   tail call. This gives non-deterministic results when the entry is shared
   with other functions and one other functions parse the block first. Fix
   this in function finalizing


  Commit: 295beea1db69a13464a4b1de6d446416b4e17b4e
      https://github.com/dyninst/dyninst/commit/295beea1db69a13464a4b1de6d446416b4e17b4e
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-18 (Tue, 18 Sep 2018)

  Changed paths:
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/Function.C
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/Parser.C
    M parseAPI/src/SymbolicExpression.h

  Log Message:
  -----------
  1. Need to invalidate the cache before finalizing a function

2. Block range lookup is not ready to use during parsing. When we
   delay parsing jumps, the block that contains the indirect jump
   may be split when we actually parse the indirect jump. We need
   to follow fall thourgh edge to find the latest block that has
   the indirect jump

3. When decoding instructions during jump table analysis, we should
   use CodeRegion to get raw bytes, which handles overlapping regions
   correctly. Overlapping regions can happen for .a file


  Commit: 91b082617c53b5133038ad6433f24e165794c2e1
      https://github.com/dyninst/dyninst/commit/91b082617c53b5133038ad6433f24e165794c2e1
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-18 (Tue, 18 Sep 2018)

  Changed paths:
    M parseAPI/src/JumpTableFormatPred.C

  Log Message:
  -----------
  Fix TOC location identificaiton for PowerPC


  Commit: 7b1511943e76cdef96b9c7e7ede4989805965d52
      https://github.com/dyninst/dyninst/commit/7b1511943e76cdef96b9c7e7ede4989805965d52
  Author: Benjamin Welton <welton@xxxxxxxxxxx>
  Date:   2018-09-20 (Thu, 20 Sep 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  Template for adding instructions


  Commit: 1707147ae4e3f6f78aa0eba5952bf45fbbd7793a
      https://github.com/dyninst/dyninst/commit/1707147ae4e3f6f78aa0eba5952bf45fbbd7793a
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2018-09-20 (Thu, 20 Sep 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  added power operations, stopped on pg491 of the manual page, lxvll


  Commit: 87cf6b8dcc0940ced7032b9c52cf4cb127615970
      https://github.com/dyninst/dyninst/commit/87cf6b8dcc0940ced7032b9c52cf4cb127615970
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-09-23 (Sun, 23 Sep 2018)

  Changed paths:
    M parseAPI/src/CodeObject.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C
    M parseAPI/src/ParserDetails.h

  Log Message:
  -----------
  Continue to fix non-deterministic behaviors of parallel parsing

1. Force two rules to simplify the interactions between threads
1.A. Each basic block should be parsed and created only by one thread.
1.B. Each edge should be parsed and created only by one thread. To do
     this, we add edges source address into the ParseWorkElem. We also
     need to adjust non-returning function analysis because only one
     of shared functions will continue parsing and have the return
     status. All other functions should be delayed and wait for the
     winning function to finish parsing

These two rules ensure that we do not need a large critical section
 when we look for the correct source block of an edge during parsing
(See 2 for more detail)

2. When parsing an edge, the source block of the edge could have
   been split by the same thread. We need to follow the fallthrough
   edge to find the correct Block object that contains the edge.

   The two rules above ensure that the source block would not be
   split by a different thread, thus we do not need to build a
   large critical for when following the fall-through edges.

3. At finalizing time, fix the block spliting implementiation
   caused by functions sharing code. During parallel parsing,
   there is no range lookup because building a range lookup
   would cause mutual exclusion for threads. So, during parallel
   parsing, we only split blocks within a thread. For functions
   sharing code, this means overlapping blocks in separate functions.


  Commit: 1d4fc85ec0ff17ab3d14941253a9f114c7731439
      https://github.com/dyninst/dyninst/commit/1d4fc85ec0ff17ab3d14941253a9f114c7731439
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxxxx>
  Date:   2018-09-25 (Tue, 25 Sep 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  P492-523


  Commit: 6cbe5730b72f7d67bf9e2b69a0709ea8c0266eca
      https://github.com/dyninst/dyninst/commit/6cbe5730b72f7d67bf9e2b69a0709ea8c0266eca
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxxxx>
  Date:   2018-09-25 (Tue, 25 Sep 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  09/25

p492-523(not including p523)
skipped: lxv (P492, new keyword DQ; TX not at the last bit),
   lxvx (P492, a slash in the memory map and two numbers are included)
	 stxsd (P498, new keyword VRS, stands for VSR[VSR+32].dword[0])
	 stxssp (P501, VRS)
	 stxv (P507, new keyword DQ)
	 xsabsqp (P512, 0 in it)

new keywords included:

	-included new keywords "XS", it should be the storing version of "XT")
	-included XA, XB (page 512 of manual, using the same pattern as RA, RB but XA and XB are for VSR, and there are AX & BX bits at the end of the instruction)
	-included VRA, VRB (page 520 of manual)

Additional:
--xsaddqp and xsaddqpo are sharing the same opcode, treated it as frsp and frsp.(page 520 of manual)


  Commit: 5af9ea93fd66ebbfe9ff4945489a32a21e1c97a6
      https://github.com/dyninst/dyninst/commit/5af9ea93fd66ebbfe9ff4945489a32a21e1c97a6
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxxxx>
  Date:   2018-09-25 (Tue, 25 Sep 2018)

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


  Commit: 2c8113207782d5f032271773403e78be0e977bde
      https://github.com/dyninst/dyninst/commit/2c8113207782d5f032271773403e78be0e977bde
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxxxx>
  Date:   2018-09-25 (Tue, 25 Sep 2018)

  Changed paths:
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  09/25

p492-523(not including p523)
skipped: lxv (P492, new keyword DQ; TX not at the last bit),
   lxvx (P492, a slash in the memory map and two numbers are included)
				 stxsd (P498, new keyword VRS, stands for VSR[VSR+32].dword[0])
				 stxssp (P501, VRS)
				 stxv (P507, new keyword DQ)
				 xsabsqp (P512, 0 in it)

new keywords included:

	-included new keywords "XS", it should be the storing version of "XT")
	-included XA, XB (page 512 of manual, using the same pattern as RA, RB but XA and XB are for VSR, and there are AX & BX bits at the end of the instruction)
	-included VRA, VRB (page 520 of manual)

Additional:
--xsaddqp and xsaddqpo are sharing the same opcode, treated it as frsp and frsp.(page 520 of manual)


  Commit: 0a3c9f6730e67eed51a9335b95863650a4844027
      https://github.com/dyninst/dyninst/commit/0a3c9f6730e67eed51a9335b95863650a4844027
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxxxx>
  Date:   2018-09-27 (Thu, 27 Sep 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  09/27/2018 New opcodes added

p523-576(not including p576)

skipped:
nothing

new:
  -third level opcodes: 60-347-(16/17), 63-804-(0), 63-836-(1/2/9/10/17/20/22/25
  -new extended opcodes (opcode 60/61/63), added on 09/25 but was not included in the last log.
  -new keyword included: VRS
  -lxvx: page 492, a slash inside the extened opcode.two entries in the opcode table are included: 31-268 & 31-300


  Commit: 7f04267bcb623d12e846c68d815d30b41d72a513
      https://github.com/dyninst/dyninst/commit/7f04267bcb623d12e846c68d815d30b41d72a513
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxxxx>
  Date:   2018-09-27 (Thu, 27 Sep 2018)

  Changed paths:
    M common/h/entryIDs.h

  Log Message:
  -----------
  09/27/2018 New opcodes added

p523-576(not including p576)

skipped:
nothing

new:
  -third level opcodes: 60-347-(16/17), 63-804-(0), 63-836-(1/2/9/10/17/20/22/25
  -new extended opcodes (opcode 60/61/63), added on 09/25 but was not included in the last log.
  -new keyword included: VRS
  -lxvx: page 492, two entries for this instruction(a slash inside the extened opcode).31-268 & 31-300


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

  Changed paths:
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  More fixes for removing duplicated edges and wrong edges.

1. A thread may attempt to parse an address for edges multiple times
   when there are overlapping instructions. Handle this case to ensure
   that each address is parsed for edges once. This fix remove duplicated
   edges.

2. Fix moving edges during block split, which caused wrong edges.
   The block split during parsing and the consistent block split
   during finalizing should use the same algorithm described below:

     * We move outgoing edges from block A to block B, which is
     * necessary when spliting blocks.
     * The start of block B should be consistent with block A.
     * There are three cases:
     *
     * Case 1: the end of A and B are the same
     *         A :  [     ]
     *         B :     [  ]
     *         In such case, we can directly move the edges from A to B
     *
     * Case 2: block A contains block B
     *         A :  [          ]
     *         B :      [    ]
     *    edge_b :            []
     *         In this case, the outgoing edges of A should not be moved to B.
     *         Instead, we need to follow the fallthrough edge of B to find a
     *         block (edge_b), which ends at same location as A. We then move
     *         outgoing edges of A to edge_b.
     * Case 3: End of A is smaller than the end of B
     *         A : [        ]
     *         B :      [       ]
     *         In this case, the outgoing edges of A should only contain a
     *         fallthrough edge (otherwise, B's end will the same as A).
     *         We remove this fall through edge for now and we will add the
     *         edge back in finalizing.
     *

   The same algorithm description is also documented in function
   Parser::move_edges_consistent_blocks(Block *A, Block *B) in parseAPI/src/Parser.C


  Commit: d947f0abecb00a570387487b92d5ba40f4a3b9e3
      https://github.com/dyninst/dyninst/commit/d947f0abecb00a570387487b92d5ba40f4a3b9e3
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  Opcode conflict detected, new opcodes added

p576-690(include but skipped)

skipped:

  -xsrqpi & xsrqpix, P634, two instructions sharing the same opcode, differentiated by EX bit
  -xssqrtsp, P644, xssqrtsp has the exact same opcode with xscmpgtdp (P526)
  -xvcmpgtdp, P668, has exact the same opcode with xsrdpic(P628)
  -xvcmpgtsp, P670, has exact the same opcode with xssqrtdp(P641)
  -xvcvspsxws, P686, has exact the same opcode with xsminjdp(P589)
  -xvcvspuxws, P690, has exact the same opcode with xsmincdp(P587)

new keywords included:
  -P653, included DCMX
  -P636, included RMC, two bit from 21th, always companied with an R bit in the 15th bit.
  -new third level opcode 60-475


  Commit: 2d1947dd8a21605673844faa6109e753f2ce07ed
      https://github.com/dyninst/dyninst/commit/2d1947dd8a21605673844faa6109e753f2ce07ed
  Author: LER0ever <etasry@xxxxxxxxx>
  Date:   2018-10-05 (Fri, 05 Oct 2018)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  gitignore: add cmake shadow build directories


  Commit: 0127a02329770ae08961e04a1fa692a47ad2ceaf
      https://github.com/dyninst/dyninst/commit/0127a02329770ae08961e04a1fa692a47ad2ceaf
  Author: LER0ever <etasry@xxxxxxxxx>
  Date:   2018-10-05 (Fri, 05 Oct 2018)

  Changed paths:
    M examples/CMakeLists.txt

  Log Message:
  -----------
  build: move file copying to install phase


  Commit: 0ca00fa45d33f65406cd51f444fd1024bcb088d6
      https://github.com/dyninst/dyninst/commit/0ca00fa45d33f65406cd51f444fd1024bcb088d6
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-09 (Tue, 09 Oct 2018)

  Changed paths:
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/debug_parse.C

  Log Message:
  -----------
  1. Change the DYNINST_DEBUG_PARSING from a flag to a debug log name prefix.
   In parallel parsing, we need different threads to output to different files

2. Change the jump table analysis to eliminate non-determinisitic behaviors
2.1. Do not rely on the order of node in slice
2.2. Add a fix-point analysis to allow jump table analysis to redo analysis,
     discover new out-going edges due to new in-cominging edges, and continue
     parsing


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

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

  Log Message:
  -----------
  A few fixes for non-returning function analysis

1. We determine cycle by only checking the number delayed frames.
   Change it to check whether the set of delayed frames stays the same.
   This change may not be necessary, but it is safer

2. Enforce the correct order for checking function status when
   dealing with tail calls and shared code. The common code is moved
   to a new function Parser::update_function_ret_status.

   The return status starts with UNSET, and increases to RETURN, and maybe NORETURN
   Once it is RETURN or NORETURN, it will not go back to UNSET.

   Therefore, it is crucial for the following if statements to be the right order:
   First check the smaller values, and then check the larger values.

   Consider that if we reverse the order. So the code looks like
   1) if (other_func->retstatus() == RETURN) {
    ....
   2) }  else if (other_func->retstatus() == UNSET) {
    ....
      }

   In such code structure, at line 1), the other_func can be in UNSET, so the check fails.
   Concurrently, the other_func can be immediately set to RETURN, making the check at
   line 2) failing. So, the frame.func is neither delayed, nor updates its return status
   to RETURN, which can lead to wrong NORETURN status.


  Commit: 95e89bc3487f7a4716f49211e88b0c890c9cdeb8
      https://github.com/dyninst/dyninst/commit/95e89bc3487f7a4716f49211e88b0c890c9cdeb8
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-10 (Wed, 10 Oct 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Fix typos in fix-point analysis for jump tables and remove sink edges when finding new edges


  Commit: 71e14a71bd68089faa0b1a7cc4e79c0c6f7b5e49
      https://github.com/dyninst/dyninst/commit/71e14a71bd68089faa0b1a7cc4e79c0c6f7b5e49
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-11 (Thu, 11 Oct 2018)

  Changed paths:
    M parseAPI/src/Parser.C

  Log Message:
  -----------
  Attempting to remove sink edges causes weird side effects on memory usages.
Remove related code.


  Commit: b19e347b97d61c054e2071b605d4ad03da05c961
      https://github.com/dyninst/dyninst/commit/b19e347b97d61c054e2071b605d4ad03da05c961
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxx>
  Date:   2018-10-11 (Thu, 11 Oct 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  Note for implementation added, XX3 formants in opcode 60 revised, new opcodes added

Revised:
  - opcode with XX3 formats: extended opcode are expanded from 21-28 to 21-29,
	with last bit treated as 0 and 1 respectively
  - The instructions with Rc bits, included Rc in the extended opcode,
	treated the instructions with Rc=0 and Rc=1 as different opcodes.

	new:
	-xvtstdcdp (P760): DCMX field is chopped into 3 parts. May be a special case in implementation.
	-**new Keyword: UIM:
	   field 12-15 immediate field (xxextractuw,xxinsertw (P766))
	   field 14-15 immediate field (xxspltw (P774))
	  //I think UIM should be modified to a certain expression to show what exact bits are for UIM
	-new Keyword: SHW:
	   field 22-23 specify a shift amount in words
   skipped:
	    -xxpermdi (P773), three arbitrary digits
	    -xxsel (P773), XX4 form
	    -xxsldwi (P774), three arbitrary digits


  Commit: 8d5806f4b6b1a582786887d76a81c05f6ba0eb61
      https://github.com/dyninst/dyninst/commit/8d5806f4b6b1a582786887d76a81c05f6ba0eb61
  Author: LER0ever <etasry@xxxxxxxxx>
  Date:   2018-10-14 (Sun, 14 Oct 2018)

  Changed paths:
    M common/src/headers.h
    M common/src/linuxHeaders.h

  Log Message:
  -----------
  headers: delete all xdr related code


  Commit: b1a81d9f32931a73d4ded35c30511ea97e3492fa
      https://github.com/dyninst/dyninst/commit/b1a81d9f32931a73d4ded35c30511ea97e3492fa
  Author: LER0ever <etasry@xxxxxxxxx>
  Date:   2018-10-14 (Sun, 14 Oct 2018)

  Changed paths:
    M cmake/packages.cmake

  Log Message:
  -----------
  cmake: use latest binutils, restrict libelf to >=0.173
older binutils won't recognize Fedora 25 AArch64
older libelf does not have the "dwarf_next_line" function


  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: 0777c247db559a2a8d5988a2045c917829f60d7c
      https://github.com/dyninst/dyninst/commit/0777c247db559a2a8d5988a2045c917829f60d7c
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

  Changed paths:
    M parseAPI/h/CFG.h
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h

  Log Message:
  -----------
  1. Use a new tbb::concurrent_hash_map to record block end.
   In addition, when adding out-going edges to a block, we
   first query the block end hash map to get the accessor
   to the block. When splitting the block, we also first
   query the block end hash map to get the access to the block.
   tbb::concurrent_hash_map provides implicit read-write lock
   through the accessor. Therefore, we enforce that adding
   out-going edges are not going to be concurrent with block split.

2. Add a bunch of asserts that check edge consistency. This is
   for debug purpose and will be removed later


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

  Changed paths:
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  The power instruction decoding tables are declared as std::map.
Currently, we use the [] operator to access entries in the table.
While the tables are mostly read-only, when we encounter instructions
that are not in the table. The [] operator may create new entries
and cause crashes. Therefore, change all accesses from [] operation
to use find() method.


  Commit: 63c134011b66628f18fd98be82575ab881e41572
      https://github.com/dyninst/dyninst/commit/63c134011b66628f18fd98be82575ab881e41572
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxx>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  10/16 Revision of instructions in Chapter 7

Implementation Notes:
  1. For opcode 57, 58, ext opcode resides in 30-31 bit.
  2. For opcode 61 (111101), the ext opcode resides in 29-31 bit or 30-31 bit,
     depending on whether 30-31 bit is 01. (Manual page 1194)
  3. For the instructions with RMC and R, R is always at the 15th bit.
  4. For opcode 60, the Rc bit is at the 21th bit.

new:
  - Flag bit EX (31th bit), (P634)

left to be entered:
  - stv(P492) & stxv(P507) , with DQ(RA) pattern.
  - In opcode 60, two with XX3 format and 3 arbitrary bits and one with XX4 format.


  Commit: c5932d2d07b88b3d487059c31067df198b2834bd
      https://github.com/dyninst/dyninst/commit/c5932d2d07b88b3d487059c31067df198b2834bd
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxx>
  Date:   2018-10-16 (Tue, 16 Oct 2018)

  Changed paths:
    M common/h/entryIDs.h

  Log Message:
  -----------
  10/16 Revision of instructions in Chapter 7

Implementation Notes:
  1. For opcode 57, 58, ext opcode resides in 30-31 bit.
  2. For opcode 61 (111101), the ext opcode resides in 29-31 bit or 30-31 bit,
     depending on whether 30-31 bit is 01. (Manual page 1194)
  3. For the instructions with RMC and R, R is always at the 15th bit.
  4. For opcode 60, the Rc bit is at the 21th bit.

new:
  - Flag bit EX (31th bit), (P634)

left to be entered:
  - stv(P492) & stxv(P507) , with DQ(RA) pattern.
  - In opcode 60, two with XX3 format and 3 arbitrary bits and one with XX4 format.


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

  Changed paths:
    M parseAPI/src/Parser.C
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  A block can be split between it is just recorded in the block end
map and adding out-going edge work elements. This means Block::end()
and Block::last() are not reliable when adding parsing work elements.
Change them to use IA_IAPI::getAddr(), which is a local object.


  Commit: 1cfbdeaff2fbe7f8f37e28827fd02b6c07f356ab
      https://github.com/dyninst/dyninst/commit/1cfbdeaff2fbe7f8f37e28827fd02b6c07f356ab
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-17 (Wed, 17 Oct 2018)

  Changed paths:
    M dataflowAPI/rose/semantics/DispatcherPowerpc.C
    M instructionAPI/src/power_opcode_tables.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  1. Fix typos in the Power instruction decoding table and add
   instruction semantics for rldicl

2. When pushing new parse work elements into the work queue,
   we cannot get the source address of the edge from Block::last(),
   because we currently do not hold an accessor to the block end
   and the block can be split. So, before adding new work elements,
   first acquire an accessor to the block end


  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: f53fc48e694047ecceaa2f87124601bade2611c0
      https://github.com/dyninst/dyninst/commit/f53fc48e694047ecceaa2f87124601bade2611c0
  Author: LER0ever <etasry@xxxxxxxxx>
  Date:   2018-10-17 (Wed, 17 Oct 2018)

  Changed paths:
    M CMakeLists.txt
    M cmake/shared.cmake

  Log Message:
  -----------
  cmake: add boost to all dyninst libraries and DyninstRT, fixes parallel building


  Commit: a1952e33dce5669f2e4b4204ea51f363adff9607
      https://github.com/dyninst/dyninst/commit/a1952e33dce5669f2e4b4204ea51f363adff9607
  Author: LER0ever <etasry@xxxxxxxxx>
  Date:   2018-10-17 (Wed, 17 Oct 2018)

  Changed paths:
    M CMakeLists.txt
    M cmake/shared.cmake

  Log Message:
  -----------
  cmake: add conditional check for whether we are building boost


  Commit: b19e831b6cc0b7c3a8eef8667ccb15baf96dfe8f
      https://github.com/dyninst/dyninst/commit/b19e831b6cc0b7c3a8eef8667ccb15baf96dfe8f
  Author: LER0ever <etasry@xxxxxxxxx>
  Date:   2018-10-17 (Wed, 17 Oct 2018)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  cmake: fix msvc complaints about target dependency


  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: a32481a4c1917f59b8cabcb6e51e1f3e4d988a7b
      https://github.com/dyninst/dyninst/commit/a32481a4c1917f59b8cabcb6e51e1f3e4d988a7b
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-18 (Thu, 18 Oct 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  Start to integrate new power opcodes


  Commit: 2764bf716497bf884f078177e6fa07d4b35accd7
      https://github.com/dyninst/dyninst/commit/2764bf716497bf884f078177e6fa07d4b35accd7
  Author: Yuhan Xie <yxie@xxxxxxxxxxxxxxxxxx>
  Date:   2018-10-18 (Thu, 18 Oct 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  10/18 Opcode from Chapter 6

Summary of Changable fields:
  UIM:
	  12-15:
		4-524 vspltb
		4-525 vextractub
		4-589 vextractuh
		4-653 vextractuw
		4-717 vextractd
		4-781 vinsertb
		4-845 vinserth
		4-909 vinsertw
		4-973 vinsertd
		13-15:
		4-588 vsplth
    14-15:
		4-652 vspltw

  Rc bit:
		for opcode 4: always 21th bit

	ext opcode for opcode 4:
    26-31: 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 59, 60, 61, 62, 63

	new:
	  Keyword SIM, 11-15 bits
    Keyword SHB, 22-25 bits
		third-level opcode: 4-1538-x


  Commit: b89bee208fbaed650978a7380672d330db9dcde9
      https://github.com/dyninst/dyninst/commit/b89bee208fbaed650978a7380672d330db9dcde9
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-18 (Thu, 18 Oct 2018)

  Changed paths:
    M parseAPI/h/CFG.h

  Log Message:
  -----------
  Remove an edge check that caused significant slowdown


  Commit: 42934a133f021ffb070ac0500fac9fca5ceb9f03
      https://github.com/dyninst/dyninst/commit/42934a133f021ffb070ac0500fac9fca5ceb9f03
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-19 (Fri, 19 Oct 2018)

  Changed paths:
    M common/h/dyn_regs.h
    M common/h/entryIDs.h
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h

  Log Message:
  -----------
  Adding multiple items for Power 8 instruction decoding

1. VSR registers
2. Decoding for several operand fields
3. Decoding for extended op 60


  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


  Commit: e0b47787f00797171ceded23427c0b4abd25dfcc
      https://github.com/dyninst/dyninst/commit/e0b47787f00797171ceded23427c0b4abd25dfcc
  Author: Yuhan Xie <xie75@xxxxxxxx>
  Date:   2018-10-23 (Tue, 23 Oct 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  10/23
Chapter 6

new:
    keyword CY, 21th bit
    keyword ST, 16th bit
    keyword SIX, 17-20
    keyword DRM, 18-20
    keyword RM, 19-20
    (ST and SIX always show up together)
    keyword PS, 22th bit

Summary of Changable fields:
		UIM:
		11-15:
		   4-906 vctuxs,
		   4-970 vctsxs,

	  12-15:
	     4-524 vspltb
	     4-525 vextractub
	     4-589 vextractuh
	     4-653 vextractuw
	     4-717 vextractd
	     4-781 vinsertb
	     4-845 vinserth
	     4-909 vinsertw
	     4-973 vinsertd

		4-588 vsplth 13-15

		4-652 vspltw 14-15

		Rc bit:
		  for opcode 4: always 21th bit

		6-bit(26-31) ext opcode for opcode 4:
		   32-47, 59-63


  Commit: 67591f75f08881a431b34cd04a7d81ed52c15bfc
      https://github.com/dyninst/dyninst/commit/67591f75f08881a431b34cd04a7d81ed52c15bfc
  Author: Sasha Nicolas <sasha@xxxxxxxxxxx>
  Date:   2018-10-23 (Tue, 23 Oct 2018)

  Changed paths:
    M cmake/packages.cmake

  Log Message:
  -----------
  Modifying cmake configuration to compile and install TBB.


  Commit: aad240c45fae9e395bc0ec8537128af225d073d7
      https://github.com/dyninst/dyninst/commit/aad240c45fae9e395bc0ec8537128af225d073d7
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-24 (Wed, 24 Oct 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  Finish most of the Power 8 VSX instruction decoding


  Commit: f0c9b431833129bf288742724968154565961776
      https://github.com/dyninst/dyninst/commit/f0c9b431833129bf288742724968154565961776
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2018-10-24 (Wed, 24 Oct 2018)

  Changed paths:
    M common/h/dyn_regs.h
    M common/h/entryIDs.h
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  Merge pull request #498 from dyninst/power_vector

Vector instruction support on Power and recycled opcode


  Commit: 5c9770a979038181d03603120b373fc5ffb48455
      https://github.com/dyninst/dyninst/commit/5c9770a979038181d03603120b373fc5ffb48455
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2018-10-24 (Wed, 24 Oct 2018)

  Changed paths:
    M .gitignore
    M CMakeLists.txt
    M cmake/packages.cmake
    M cmake/shared.cmake
    M common/src/headers.h
    M common/src/linuxHeaders.h
    M examples/CMakeLists.txt

  Log Message:
  -----------
  Merge pull request #496 from LER0ever/code.rongyi.io/LER0ever/Dyninst/build-fixes

Build fixes for parallel building and xdr-related issues


  Commit: 07bdc17e2ecfbd1e5be36d0122e227692055299d
      https://github.com/dyninst/dyninst/commit/07bdc17e2ecfbd1e5be36d0122e227692055299d
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-25 (Thu, 25 Oct 2018)

  Changed paths:
    M parseAPI/src/Function.C
    M parseAPI/src/Parser.C
    M parseAPI/src/ParserDetails.C

  Log Message:
  -----------
  1. Fix inconsistent block splits

2. Fix non-returning function analysis for PLT stubs, where a PLT stub
   may first be set to RETURN and then set to NORETURN.

3. When parsing call fallthrough edge, the corresponding call edge may
   still point to sink (not handled yet), which causes the code to
   believe it is an indirect call. So, change the code to look up callee
   by using the callee entry address.


  Commit: 97a8c434e4926a23cbc53fb7cb447fb7e1f4df5c
      https://github.com/dyninst/dyninst/commit/97a8c434e4926a23cbc53fb7cb447fb7e1f4df5c
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-25 (Thu, 25 Oct 2018)

  Changed paths:
    M .gitignore
    M CMakeLists.txt
    M cmake/packages.cmake
    M cmake/shared.cmake
    M common/h/dyn_regs.h
    M common/h/entryIDs.h
    M common/src/headers.h
    M common/src/linuxHeaders.h
    M examples/CMakeLists.txt
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h
    M instructionAPI/src/power_opcode_tables.C
    M parseAPI/src/Function.C
    M parseAPI/src/Parser.C

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

Rmove setting function ret status during finalizing

Conflicts:
	cmake/packages.cmake
	examples/CMakeLists.txt
	instructionAPI/src/power_opcode_tables.C


  Commit: 896144c647d5ddb423bbfc6da338cda17ca24185
      https://github.com/dyninst/dyninst/commit/896144c647d5ddb423bbfc6da338cda17ca24185
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2018-10-25 (Thu, 25 Oct 2018)

  Changed paths:
    A .gitmodules
    M CMakeLists.txt
    M cmake/Modules/FindLibDwarf.cmake
    A cmake/Modules/FindTBB
    A cmake/Modules/FindTBB.cmake
    A cmake/endian.cmake
    M cmake/options.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake
    M common/CMakeLists.txt
    M common/h/IBSTree-fast.h
    M common/h/IBSTree.h
    M common/h/dyntypes.h
    A common/h/mcs-lock.h
    A common/h/pfq-rwlock.h
    A common/h/race-detector-annotations.h
    M common/h/util.h
    A common/src/LockTraits.h
    M common/src/arch-aarch64.h
    M common/src/arch-power.h
    M common/src/arch-x86.C
    M common/src/arch-x86.h
    M common/src/dthread.C
    M common/src/dthread.h
    M common/src/linuxKludges.C
    A common/src/mcs-lock.C
    M common/src/pathName.C
    A common/src/pfq-rwlock.C
    A common/src/race-detector-annotations.C
    M common/src/singleton_object_pool.h
    M common/src/string-regex.C
    M dataflowAPI/h/ABI.h
    M dataflowAPI/h/Absloc.h
    M dataflowAPI/h/AbslocInterface.h
    M dataflowAPI/h/SymEval.h
    M dataflowAPI/h/liveness.h
    M dataflowAPI/h/slicing.h
    M dataflowAPI/h/stackanalysis.h
    M dataflowAPI/rose/semantics/DispatcherPowerpc.C
    M dataflowAPI/rose/semantics/Registers.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.h
    M dataflowAPI/src/ABI.C
    M dataflowAPI/src/Absloc.C
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/RegisterMap.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/RoseInsnFactory.h
    M dataflowAPI/src/SymEval.C
    M dataflowAPI/src/SymEvalPolicy.C
    M dataflowAPI/src/SymEvalPolicy.h
    M dataflowAPI/src/debug_dataflow.C
    M dataflowAPI/src/debug_dataflow.h
    M dataflowAPI/src/liveness.C
    M dataflowAPI/src/slicing.C
    M dataflowAPI/src/stackanalysis.C
    M dynC_API/CMakeLists.txt
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/h/BPatch_basicBlock.h
    M dyninstAPI/h/BPatch_parRegion.h
    M dyninstAPI/h/BPatch_point.h
    M dyninstAPI/h/BPatch_snippet.h
    M dyninstAPI/src/BPatch.C
    M dyninstAPI/src/BPatch_basicBlock.C
    M dyninstAPI/src/BPatch_flowGraph.C
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.h
    M dyninstAPI/src/BPatch_parRegion.C
    M dyninstAPI/src/BPatch_point.C
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/BPatch_type.C
    M dyninstAPI/src/Parsing.C
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M dyninstAPI/src/Relocation/CodeBuffer.C
    M dyninstAPI/src/Relocation/DynPointMaker.C
    M dyninstAPI/src/Relocation/DynPointMaker.h
    M dyninstAPI/src/Relocation/Transformers/Instrumenter.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.h
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.h
    M dyninstAPI/src/Relocation/Widgets/CFPatch.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-ppc.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-x86.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.h
    M dyninstAPI/src/Relocation/Widgets/InsnWidget.C
    M dyninstAPI/src/Relocation/Widgets/InsnWidget.h
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget.h
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.C
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.h
    M dyninstAPI/src/Relocation/Widgets/StackModWidget.C
    M dyninstAPI/src/Relocation/Widgets/StackModWidget.h
    M dyninstAPI/src/Relocation/Widgets/Widget.h
    M dyninstAPI/src/StackMod/StackAccess.C
    M dyninstAPI/src/StackMod/StackAccess.h
    M dyninstAPI/src/StackMod/StackModChecker.C
    M dyninstAPI/src/StackMod/StackModChecker.h
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/addressSpace.h
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    M dyninstAPI/src/block.h
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/codegen.C
    M dyninstAPI/src/frameChecker.C
    M dyninstAPI/src/frameChecker.h
    M dyninstAPI/src/function.C
    M dyninstAPI/src/function.h
    M dyninstAPI/src/hybridInstrumentation.C
    M dyninstAPI/src/hybridOverwrites.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/instPoint.C
    M dyninstAPI/src/instPoint.h
    M dyninstAPI/src/mapped_object.C
    M dyninstAPI/src/parse-cfg.C
    M dyninstAPI/src/parse-cfg.h
    M dyninstAPI/src/parse-power.C
    M dyninstAPI/src/parse-x86.C
    M dyninstAPI/src/pcEventMuxer.C
    M elf/src/Elf_X.C
    M examples/CMakeLists.txt
    M examples/unstrip/callback.C
    M examples/unstrip/fingerprint.C
    M examples/unstrip/types.h
    M examples/unstrip/util.C
    M examples/unstrip/util.h
    M instructionAPI/CMakeLists.txt
    M instructionAPI/h/ArchSpecificFormatters.h
    M instructionAPI/h/BinaryFunction.h
    M instructionAPI/h/Dereference.h
    M instructionAPI/h/Expression.h
    M instructionAPI/h/Immediate.h
    M instructionAPI/h/Instruction.h
    M instructionAPI/h/InstructionAST.h
    M instructionAPI/h/InstructionDecoder.h
    M instructionAPI/h/Operand.h
    R instructionAPI/h/Operation.h
    A instructionAPI/h/Operation_impl.h
    M instructionAPI/h/Register.h
    M instructionAPI/h/Result.h
    M instructionAPI/src/ArchSpecificFormatters.C
    M instructionAPI/src/Immediate.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionAST.C
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-aarch64.h
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h
    M instructionAPI/src/InstructionDecoder-x86.C
    M instructionAPI/src/InstructionDecoder-x86.h
    M instructionAPI/src/InstructionDecoder.C
    M instructionAPI/src/InstructionDecoderImpl.C
    M instructionAPI/src/InstructionDecoderImpl.h
    M instructionAPI/src/Operand.C
    M instructionAPI/src/Operation.C
    M instructionAPI/src/Register.C
    M instructionAPI/src/power_opcode_tables.C
    M parseAPI/CMakeLists.txt
    M parseAPI/doc/example.cc
    M parseAPI/h/CFG.h
    M parseAPI/h/CFGFactory.h
    M parseAPI/h/CodeObject.h
    M parseAPI/h/CodeSource.h
    M parseAPI/h/InstructionAdapter.h
    M parseAPI/h/Location.h
    A parseAPI/h/LockFreeQueue.h
    M parseAPI/h/ParseCallback.h
    M parseAPI/src/Block.C
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/BoundFactData.h
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/CodeSource.C
    M parseAPI/src/Function.C
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/IA_IAPI.h
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IA_aarch64.h
    M parseAPI/src/IA_power.C
    M parseAPI/src/IA_power.h
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IA_x86.h
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/IndirectAnalyzer.h
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableFormatPred.h
    M parseAPI/src/JumpTableIndexPred.C
    M parseAPI/src/ParseCallback.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C
    M parseAPI/src/ParserDetails.h
    M parseAPI/src/ProbabilisticParser.C
    M parseAPI/src/SymbolicExpression.C
    M parseAPI/src/SymbolicExpression.h
    M parseAPI/src/SymtabCodeSource.C
    M parseAPI/src/ThunkData.C
    M parseAPI/src/debug_parse.C
    M parseThat/CMakeLists.txt
    M patchAPI/CMakeLists.txt
    M patchAPI/h/PatchCFG.h
    M patchAPI/h/Point.h
    M patchAPI/src/ParseCallback.C
    M patchAPI/src/PatchBlock.C
    M patchAPI/src/PatchFunction.C
    M patchAPI/src/PatchMgr.C
    M patchAPI/src/PatchModifier.C
    M patchAPI/src/Point.C
    M patchAPI/src/PointMaker.C
    M stackwalk/CMakeLists.txt
    M stackwalk/src/callchecker-IAPI.C
    M stackwalk/src/framestepper.C
    M stackwalk/src/linux-aarch64-swk.C
    M stackwalk/src/linux-x86-swk.C
    M symtabAPI/CMakeLists.txt
    M symtabAPI/h/Collections.h
    M symtabAPI/h/Module.h
    M symtabAPI/h/StringTable.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/h/Type.h
    M symtabAPI/src/Collections.C
    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.h
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/Type-mem.h
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/parseDwarf.C
    M symtabAPI/src/parseStab.C

  Log Message:
  -----------
  Merge pull request #488 from dyninst/new-parallel-parsing

Merge parallel code parsing


  Commit: 054ddeb455b66372475142b0f281d5fc6faf3cfe
      https://github.com/dyninst/dyninst/commit/054ddeb455b66372475142b0f281d5fc6faf3cfe
  Author: Sasha Nicolas <sasha@xxxxxxxxxxx>
  Date:   2018-10-25 (Thu, 25 Oct 2018)

  Changed paths:
    M cmake/options.cmake
    M cmake/packages.cmake
    M parseAPI/CMakeLists.txt
    M parseAPI/src/debug_parse.C

  Log Message:
  -----------
  Adding USE_OpenMP to cmake files;
Adding MD5 to verify downloaded file;
Removing compiler restriction.


  Commit: 2b21d594788d052e10281e3859efadfbb4713df2
      https://github.com/dyninst/dyninst/commit/2b21d594788d052e10281e3859efadfbb4713df2
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-10-26 (Fri, 26 Oct 2018)

  Changed paths:
    M common/src/arch-x86.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/inst-x86.C
    M examples/CMakeLists.txt
    M parseAPI/src/IndirectAnalyzer.C

  Log Message:
  -----------
  1. Fix x86-64 codegen for binary operators with 64-bit imm values

2. When decoding floating point instructions on x86-64, the address size
override prefix means 64-bit address size rather than 16-bit

3. Fix a linking problem of examples

4. Do not use negative values when reading jump tables


  Commit: 7a62f5ba9e8f53585e3f37c4e58c3adb77a00960
      https://github.com/dyninst/dyninst/commit/7a62f5ba9e8f53585e3f37c4e58c3adb77a00960
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-10-30 (Tue, 30 Oct 2018)

  Changed paths:
    M dataflowAPI/h/ABI.h
    M dataflowAPI/src/ABI.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-aarch64.C
    M dyninstAPI/src/parse-aarch64.C

  Log Message:
  -----------
  Fix interface changes for ARM.


  Commit: 642fb6a213178faa849d7e6dad618dab71fb11c3
      https://github.com/dyninst/dyninst/commit/642fb6a213178faa849d7e6dad618dab71fb11c3
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-10-30 (Tue, 30 Oct 2018)

  Changed paths:
    M .gitignore
    A .gitmodules
    M CMakeLists.txt
    M cmake/Modules/FindLibDwarf.cmake
    A cmake/Modules/FindTBB
    A cmake/Modules/FindTBB.cmake
    A cmake/endian.cmake
    M cmake/options.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake
    M common/CMakeLists.txt
    M common/h/IBSTree-fast.h
    M common/h/IBSTree.h
    M common/h/dyn_regs.h
    M common/h/dyntypes.h
    M common/h/entryIDs.h
    A common/h/mcs-lock.h
    A common/h/pfq-rwlock.h
    A common/h/race-detector-annotations.h
    M common/h/util.h
    A common/src/LockTraits.h
    M common/src/arch-aarch64.h
    M common/src/arch-power.h
    M common/src/arch-x86.C
    M common/src/arch-x86.h
    M common/src/dthread.C
    M common/src/dthread.h
    M common/src/headers.h
    M common/src/linuxHeaders.h
    M common/src/linuxKludges.C
    A common/src/mcs-lock.C
    M common/src/pathName.C
    A common/src/pfq-rwlock.C
    A common/src/race-detector-annotations.C
    M common/src/singleton_object_pool.h
    M common/src/string-regex.C
    M dataflowAPI/h/ABI.h
    M dataflowAPI/h/Absloc.h
    M dataflowAPI/h/AbslocInterface.h
    M dataflowAPI/h/SymEval.h
    M dataflowAPI/h/liveness.h
    M dataflowAPI/h/slicing.h
    M dataflowAPI/h/stackanalysis.h
    M dataflowAPI/rose/semantics/DispatcherPowerpc.C
    M dataflowAPI/rose/semantics/Registers.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.h
    M dataflowAPI/src/ABI.C
    M dataflowAPI/src/Absloc.C
    M dataflowAPI/src/AbslocInterface.C
    M dataflowAPI/src/RegisterMap.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/RoseInsnFactory.h
    M dataflowAPI/src/SymEval.C
    M dataflowAPI/src/SymEvalPolicy.C
    M dataflowAPI/src/SymEvalPolicy.h
    M dataflowAPI/src/debug_dataflow.C
    M dataflowAPI/src/debug_dataflow.h
    M dataflowAPI/src/liveness.C
    M dataflowAPI/src/slicing.C
    M dataflowAPI/src/stackanalysis.C
    M dynC_API/CMakeLists.txt
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/h/BPatch_basicBlock.h
    M dyninstAPI/h/BPatch_parRegion.h
    M dyninstAPI/h/BPatch_point.h
    M dyninstAPI/h/BPatch_snippet.h
    M dyninstAPI/src/BPatch.C
    M dyninstAPI/src/BPatch_basicBlock.C
    M dyninstAPI/src/BPatch_flowGraph.C
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.h
    M dyninstAPI/src/BPatch_parRegion.C
    M dyninstAPI/src/BPatch_point.C
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/BPatch_type.C
    M dyninstAPI/src/Parsing.C
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M dyninstAPI/src/Relocation/CodeBuffer.C
    M dyninstAPI/src/Relocation/DynPointMaker.C
    M dyninstAPI/src/Relocation/DynPointMaker.h
    M dyninstAPI/src/Relocation/Transformers/Instrumenter.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.C
    M dyninstAPI/src/Relocation/Transformers/Movement-adhoc.h
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.h
    M dyninstAPI/src/Relocation/Widgets/CFPatch.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-aarch64.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-ppc.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget-x86.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.C
    M dyninstAPI/src/Relocation/Widgets/CFWidget.h
    M dyninstAPI/src/Relocation/Widgets/InsnWidget.C
    M dyninstAPI/src/Relocation/Widgets/InsnWidget.h
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget.h
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.C
    M dyninstAPI/src/Relocation/Widgets/RelDataWidget.h
    M dyninstAPI/src/Relocation/Widgets/StackModWidget.C
    M dyninstAPI/src/Relocation/Widgets/StackModWidget.h
    M dyninstAPI/src/Relocation/Widgets/Widget.h
    M dyninstAPI/src/StackMod/StackAccess.C
    M dyninstAPI/src/StackMod/StackAccess.h
    M dyninstAPI/src/StackMod/StackModChecker.C
    M dyninstAPI/src/StackMod/StackModChecker.h
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/addressSpace.h
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    M dyninstAPI/src/block.h
    M dyninstAPI/src/codegen-power.C
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/codegen.C
    M dyninstAPI/src/frameChecker.C
    M dyninstAPI/src/frameChecker.h
    M dyninstAPI/src/function.C
    M dyninstAPI/src/function.h
    M dyninstAPI/src/hybridInstrumentation.C
    M dyninstAPI/src/hybridOverwrites.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/instPoint.C
    M dyninstAPI/src/instPoint.h
    M dyninstAPI/src/mapped_object.C
    M dyninstAPI/src/parse-aarch64.C
    M dyninstAPI/src/parse-cfg.C
    M dyninstAPI/src/parse-cfg.h
    M dyninstAPI/src/parse-power.C
    M dyninstAPI/src/parse-x86.C
    M dyninstAPI/src/pcEventMuxer.C
    M elf/src/Elf_X.C
    M examples/CMakeLists.txt
    M examples/unstrip/callback.C
    M examples/unstrip/fingerprint.C
    M examples/unstrip/types.h
    M examples/unstrip/util.C
    M examples/unstrip/util.h
    M instructionAPI/CMakeLists.txt
    M instructionAPI/h/ArchSpecificFormatters.h
    M instructionAPI/h/BinaryFunction.h
    M instructionAPI/h/Dereference.h
    M instructionAPI/h/Expression.h
    M instructionAPI/h/Immediate.h
    M instructionAPI/h/Instruction.h
    M instructionAPI/h/InstructionAST.h
    M instructionAPI/h/InstructionDecoder.h
    M instructionAPI/h/Operand.h
    R instructionAPI/h/Operation.h
    A instructionAPI/h/Operation_impl.h
    M instructionAPI/h/Register.h
    M instructionAPI/h/Result.h
    M instructionAPI/src/ArchSpecificFormatters.C
    M instructionAPI/src/Immediate.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionAST.C
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-aarch64.h
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-power.h
    M instructionAPI/src/InstructionDecoder-x86.C
    M instructionAPI/src/InstructionDecoder-x86.h
    M instructionAPI/src/InstructionDecoder.C
    M instructionAPI/src/InstructionDecoderImpl.C
    M instructionAPI/src/InstructionDecoderImpl.h
    M instructionAPI/src/Operand.C
    M instructionAPI/src/Operation.C
    M instructionAPI/src/Register.C
    M instructionAPI/src/power_opcode_tables.C
    M parseAPI/CMakeLists.txt
    M parseAPI/doc/example.cc
    M parseAPI/h/CFG.h
    M parseAPI/h/CFGFactory.h
    M parseAPI/h/CodeObject.h
    M parseAPI/h/CodeSource.h
    M parseAPI/h/InstructionAdapter.h
    M parseAPI/h/Location.h
    A parseAPI/h/LockFreeQueue.h
    M parseAPI/h/ParseCallback.h
    M parseAPI/src/Block.C
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/BoundFactData.C
    M parseAPI/src/BoundFactData.h
    M parseAPI/src/CFGFactory.C
    M parseAPI/src/CFGModifier.C
    M parseAPI/src/CodeObject.C
    M parseAPI/src/CodeSource.C
    M parseAPI/src/Function.C
    M parseAPI/src/IA_IAPI.C
    M parseAPI/src/IA_IAPI.h
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IA_aarch64.h
    M parseAPI/src/IA_power.C
    M parseAPI/src/IA_power.h
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IA_x86.h
    M parseAPI/src/IndirectASTVisitor.C
    M parseAPI/src/IndirectASTVisitor.h
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/IndirectAnalyzer.h
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableFormatPred.h
    M parseAPI/src/JumpTableIndexPred.C
    M parseAPI/src/ParseCallback.C
    M parseAPI/src/ParseData.C
    M parseAPI/src/ParseData.h
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M parseAPI/src/ParserDetails.C
    M parseAPI/src/ParserDetails.h
    M parseAPI/src/ProbabilisticParser.C
    M parseAPI/src/SymbolicExpression.C
    M parseAPI/src/SymbolicExpression.h
    M parseAPI/src/SymtabCodeSource.C
    M parseAPI/src/ThunkData.C
    M parseAPI/src/debug_parse.C
    M parseThat/CMakeLists.txt
    M patchAPI/CMakeLists.txt
    M patchAPI/h/PatchCFG.h
    M patchAPI/h/Point.h
    M patchAPI/src/ParseCallback.C
    M patchAPI/src/PatchBlock.C
    M patchAPI/src/PatchFunction.C
    M patchAPI/src/PatchMgr.C
    M patchAPI/src/PatchModifier.C
    M patchAPI/src/Point.C
    M patchAPI/src/PointMaker.C
    M proccontrol/src/linux.C
    M stackwalk/CMakeLists.txt
    M stackwalk/src/callchecker-IAPI.C
    M stackwalk/src/framestepper.C
    M stackwalk/src/linux-aarch64-swk.C
    M stackwalk/src/linux-x86-swk.C
    M symtabAPI/CMakeLists.txt
    M symtabAPI/h/Collections.h
    M symtabAPI/h/Module.h
    M symtabAPI/h/StringTable.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/h/Type.h
    M symtabAPI/src/Collections.C
    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.h
    M symtabAPI/src/Symtab-edit.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/Type-mem.h
    M symtabAPI/src/Type.C
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/parseDwarf.C
    M symtabAPI/src/parseStab.C

  Log Message:
  -----------
  Merge branch 'master' into ARMv8


  Commit: d5f19ec89fb5ab4bea7718e718c9b5eda15822bf
      https://github.com/dyninst/dyninst/commit/d5f19ec89fb5ab4bea7718e718c9b5eda15822bf
  Author: Benjamin Welton <welton@xxxxxxxxxxx>
  Date:   2018-11-02 (Fri, 02 Nov 2018)

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

  Log Message:
  -----------
  Minor fix to decoding extended opcode 30 on PPC

On PPC, the extended opcode of table 30 is decoded based on the following criterion:

If bit 27 = 1. Extended opcode is at range 27-30. Otherwise the extended opcode range is 27-29.


  Commit: 69cd26ecac988c8f578a47ee1b285093db653de8
      https://github.com/dyninst/dyninst/commit/69cd26ecac988c8f578a47ee1b285093db653de8
  Author: Benjamin Welton <welton@xxxxxxxxxxx>
  Date:   2018-11-03 (Sat, 03 Nov 2018)

  Changed paths:
    M common/h/entryIDs.h
    M instructionAPI/src/power_opcode_tables.C

  Log Message:
  -----------
  Added 80 Power instructions missing from opcode 31

Added the following new instructions to the power opcode tables (however they are not yet enabled):

slbiag, cmpeqb, cmprb, cnttz, cnttz, cp_abort, darn, extswsl, ldat, lwat, mcrxrx, mfvsrld, modsd, modsw, modud, moduw, msgsync, msgclr, msgclrp, msgsnd, msgsndp, mtvsrdd, mtvsrws, mtvsrd, mtvsrwa, mtvsrwz, mfvsrd, mfvsrwz, setb, slbieg, slbsync, stdat, stwat, clrbhrb, mfbhrbe, icbt, lqarx, stqcx, tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin, tcheck, trechkpt, treclaim, tsr, addg6s, cbcdtd, cdtbcd, divde, divwe, lbarx, ldbrx, lharx, stbcx, stdbrx, sthcx, lbzcix, ldcix, lhzcix, lwzcix, stbcix, stdcix, sthcix, stwcix, lfdpx, stfdpx, prtyd, prtyw, slbfee, slbmfee, slbmfev, isel, tlbiel, subfz, slbmte, mtmsr, mtmsrd


  Commit: 29535f22c1a17581107140da3910ccf148b36372
      https://github.com/dyninst/dyninst/commit/29535f22c1a17581107140da3910ccf148b36372
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2018-11-05 (Mon, 05 Nov 2018)

  Changed paths:
    M dataflowAPI/h/slicing.h
    M dataflowAPI/rose/semantics/DispatcherARM64.C
    M dataflowAPI/src/slicing.C
    M dyninstAPI/src/Parsing.C
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/CodeSource.C
    M parseAPI/src/Function.C
    M parseAPI/src/IA_IAPI.h
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IA_power.C
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/IndirectAnalyzer.h
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableFormatPred.h
    M parseAPI/src/JumpTableIndexPred.C
    M parseAPI/src/JumpTableIndexPred.h
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C
    M parseAPI/src/debug_parse.C

  Log Message:
  -----------
  Various bug fixes

1. Jump table analysis
   1.1 do not slice backward along indirect edges, which will
   make jump table analysis depends on results of previous jump table analysis,
   and have cascading wrong analysis results.
   1.2 On x86, perform tentative instruction decoding at potential jump targets.
   If we find junk instructions at jump target, then we know the jump target is wrong
   1.3 Remove jump target checks that relies on the parsing function context.
   For jump tables shared by multiple functions, such checks can easily lead to
   non-determinisitic results.

2. Tail calls: on x86, if there is a pop to a callee saved register, it means
   the function is tearing down the stack frame. So, this jump should be a tail call

3. PLT stubs
   3.1 Improve analysis of PLT in .plt.got and fix related instrumentation problems
   3.2 Function should use the PLT name at the beginning of the parsing, not at the
   end of parsing. Otherwise, for PLT that is known to be non-returning, its caller
   may have the wrong retstatus


  Commit: d10f3a18ff8820a48fad401a4d841562a7d10459
      https://github.com/dyninst/dyninst/commit/d10f3a18ff8820a48fad401a4d841562a7d10459
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-11-05 (Mon, 05 Nov 2018)

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

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


  Commit: 209836a487b10fa0b3ba124720f49aa7647a41af
      https://github.com/dyninst/dyninst/commit/209836a487b10fa0b3ba124720f49aa7647a41af
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2018-11-05 (Mon, 05 Nov 2018)

  Changed paths:
    M common/h/entryIDs.h
    M dataflowAPI/h/slicing.h
    M dataflowAPI/rose/semantics/DispatcherARM64.C
    M dataflowAPI/src/slicing.C
    M dyninstAPI/src/Parsing.C
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/power_opcode_tables.C
    M parseAPI/src/BoundFactCalculator.C
    M parseAPI/src/CodeSource.C
    M parseAPI/src/Function.C
    M parseAPI/src/IA_IAPI.h
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IA_power.C
    M parseAPI/src/IA_x86.C
    M parseAPI/src/IndirectAnalyzer.C
    M parseAPI/src/IndirectAnalyzer.h
    M parseAPI/src/JumpTableFormatPred.C
    M parseAPI/src/JumpTableFormatPred.h
    M parseAPI/src/JumpTableIndexPred.C
    M parseAPI/src/JumpTableIndexPred.h
    M parseAPI/src/Parser.C
    M parseAPI/src/SymtabCodeSource.C
    M parseAPI/src/debug_parse.C

  Log Message:
  -----------
  Merge branch 'master' into ARMv8


Compare: https://github.com/dyninst/dyninst/compare/d7d2fdb6ea6b...209836a487b1
      **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→]