[DynInst_API:] [dyninst/dyninst] 87af4a: Fix the problem where trap springboards are not wr...


Date: Fri, 14 Jun 2019 15:47:04 -0700
From: Sasha NÃcolas <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 87af4a: Fix the problem where trap springboards are not wr...
  Branch: refs/heads/ER/ARMv8
  Home:   https://github.com/dyninst/dyninst
  Commit: 87af4a184b225bd6746992f1521454518ebb372e
      https://github.com/dyninst/dyninst/commit/87af4a184b225bd6746992f1521454518ebb372e
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-12 (Fri, 12 Apr 2019)

  Changed paths:
    M dyninstAPI/src/Relocation/Springboard.C

  Log Message:
  -----------
  Fix the problem where trap springboards are not written to the mutatee.


  Commit: 123774233f79a9ac917c15f045acc7201117ba07
      https://github.com/dyninst/dyninst/commit/123774233f79a9ac917c15f045acc7201117ba07
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-12 (Fri, 12 Apr 2019)

  Changed paths:
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  Fix springboard traps for PIC code


  Commit: 9e06ffb3ed18a408839def2ab2d24bb56817ac7a
      https://github.com/dyninst/dyninst/commit/9e06ffb3ed18a408839def2ab2d24bb56817ac7a
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-12 (Fri, 12 Apr 2019)

  Changed paths:
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  Fix warnings on adjusting trap springboards


  Commit: 16f076fb28794876c0fa0086b0d948ddc275f1f1
      https://github.com/dyninst/dyninst/commit/16f076fb28794876c0fa0086b0d948ddc275f1f1
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-12 (Fri, 12 Apr 2019)

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

  Log Message:
  -----------
  1. If ParseAPI identifies a jump as a tail call, but later find that this jump is the only incoming edge of the targXXX function, we should not treat this jump as a tail call.

In theory, it is reasonable either way. However, treating such jump
as a tail call can cause troubles for function entry instrumentation.
If the targXXX function may jump back to the original function, and
thus reach the tail jump. This becomes a recursive tail call.

However, Dyninst relocation seems to have problem adjusting the tail jump
to include entry instrumentation.

2. If the determination of a tail call is changed, we should re-compute
function boundaries, including ret blocks, exit blocks, call edges


  Commit: a1229cb9a98007338dee8f3d39c6e7bcda9b6b70
      https://github.com/dyninst/dyninst/commit/a1229cb9a98007338dee8f3d39c6e7bcda9b6b70
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-12 (Fri, 12 Apr 2019)

  Changed paths:
    M dyninstAPI/src/addressSpace.C
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  Fix finding the trap mapping header in .dyninstInst

DT_DYNINST entry of the .dynamic section points the memory offset of
the trap mapping header. Should use this information to locate
trap mapping table when adjusting trap mapping entries for PIC code


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

  Changed paths:
    M dyninstAPI/src/Relocation/Springboard.C

  Log Message:
  -----------
  Correctness fixes for springboard generators

This patch deals with issues where incorrect springboards could be generated.
Specifically addresses three issues:

1. Springboards trampling function data (addresses github issue #551)

2. Required springboards being spilling over block bounds onto
   other required springboards. Prior a if two required springboards were
   located near each other, there was a chance that one of the springboards
   could be partially overwritten resulting in broken behavior.

3. Unsafe reusage of a codegen object where if a trap was needed,
   both a branch and a trap would be written causing bad behavior.


  Commit: 024018d1202700e73422c184216ce99b418956d6
      https://github.com/dyninst/dyninst/commit/024018d1202700e73422c184216ce99b418956d6
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-12 (Fri, 12 Apr 2019)

  Changed paths:
    M parseAPI/src/Function.C

  Log Message:
  -----------
  Fix compilation error introduced during applying patches


  Commit: 78cb21106399fa9b336e964231f4036a2ec30ba7
      https://github.com/dyninst/dyninst/commit/78cb21106399fa9b336e964231f4036a2ec30ba7
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-12 (Fri, 12 Apr 2019)

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

  Log Message:
  -----------
  The _func_cnt member variable in class ParseAPI::Block should be atomic<int>,
rather than just int. A block can be shared by multiple functions. So, when
multiple functions add/remove blocks at the same time, there will be race conditions.


  Commit: 2294e3596800f1ef65ec41ebedf2f9ca5b094dc7
      https://github.com/dyninst/dyninst/commit/2294e3596800f1ef65ec41ebedf2f9ca5b094dc7
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-12 (Fri, 12 Apr 2019)

  Changed paths:
    M dyninstAPI/src/mapped_module.C

  Log Message:
  -----------
  Delete unnecessary asserts


  Commit: 0070ce35ddbad51ca888c9081d3fce6a3afb1ae2
      https://github.com/dyninst/dyninst/commit/0070ce35ddbad51ca888c9081d3fce6a3afb1ae2
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-14 (Sun, 14 Apr 2019)

  Changed paths:
    M dyninstAPI/src/Relocation/Springboard.C

  Log Message:
  -----------
  In dynamic instrumentation, springboards are installed immediately after
users insert a snippet. The user can continue to insert more snippets to
the same function, which will trigger Dyninst to perform the additional
relocation. So, we need to overwrite existing springboard for newly added
instrumentations.

In other words, we need to overwrite existing springboards if the existing
ones were installed in previous relocations.


  Commit: 57b8030b30c9e6b5ecc5fa0a705316a9a683e38b
      https://github.com/dyninst/dyninst/commit/57b8030b30c9e6b5ecc5fa0a705316a9a683e38b
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-18 (Thu, 18 Apr 2019)

  Changed paths:
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M dyninstAPI/src/Relocation/CodeMover.C
    M dyninstAPI/src/Relocation/Springboard.C
    M dyninstAPI/src/Relocation/Springboard.h
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.h
    M dyninstAPI/src/Relocation/Transformers/Transformer.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/Parser.C

  Log Message:
  -----------
  1. Replace springboards prioriy "OffLimits" and "Required" with "FuncEntry" and "IndirBlockEntry".

Only "FuncEntry" springboards are required because control flow enter instrumentation
through function calls (we relocate the whole function even if only a part of the
function is instrumented).

"IndirBlockEntry" springboards are important for re-directing control flow from
jump tables back to instrumentation. But, it is not as important as "FuncEntry".

2. Jumps to code in another secion should be treated as tail calls.


  Commit: c6144ad78965c02708e67a8d65dabb5ba9c607b6
      https://github.com/dyninst/dyninst/commit/c6144ad78965c02708e67a8d65dabb5ba9c607b6
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-23 (Tue, 23 Apr 2019)

  Changed paths:
    M dataflowAPI/src/slicing.C

  Log Message:
  -----------
  For jump table analysis, control flow edges can be created in different orders,
which lead to non-deterministic slicing and non-determinisitc jump table analysis.

Therefore, we need to sort source edges in slicing based on the edge's source block
address and edge type to ensure deterministic slicing.


  Commit: 3c33938ce088dd87316c6e128a6cb010f7e77bf1
      https://github.com/dyninst/dyninst/commit/3c33938ce088dd87316c6e128a6cb010f7e77bf1
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-23 (Tue, 23 Apr 2019)

  Changed paths:
    M dyninstAPI/CMakeLists.txt
    A dyninstAPI/src/Relocation/Widgets/PCWidget-aarch64.C
    A dyninstAPI/src/Relocation/Widgets/PCWidget-ppc.C
    A dyninstAPI/src/Relocation/Widgets/PCWidget-x86.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C

  Log Message:
  -----------
  Move architecture dependent code in PCWidget.C to three separate architecture specific source files.


  Commit: bbe1d2a26fa5337c6385434b1d2d630fc4704d45
      https://github.com/dyninst/dyninst/commit/bbe1d2a26fa5337c6385434b1d2d630fc4704d45
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-04-23 (Tue, 23 Apr 2019)

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

  Log Message:
  -----------
  Fix PCWdiget implementation on ARMv8


  Commit: fb7fa8c2c86ca8f01f2766ee8d7852fbec8b5a60
      https://github.com/dyninst/dyninst/commit/fb7fa8c2c86ca8f01f2766ee8d7852fbec8b5a60
  Author: Ian A Mason <iam@xxxxxxxxxxx>
  Date:   2019-04-29 (Mon, 29 Apr 2019)

  Changed paths:
    A patchAPI/example/README.md
    A patchAPI/example/main.cpp
    A patchAPI/example/mutatee/main.c

  Log Message:
  -----------
  simple working hybrid example of patchAPI  (#588)

* simple working hybrid example of patchAPI (using dyninstAPI to create the PatchMgr and PatchObject).

* TLC plus some remarks about running the rewritten program.


  Commit: c6c4c04f54da53992623ed2626fb5844b72a7b83
      https://github.com/dyninst/dyninst/commit/c6c4c04f54da53992623ed2626fb5844b72a7b83
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2019-05-02 (Thu, 02 May 2019)

  Changed paths:
    M CMakeLists.txt
    A cmake/Boost.cmake
    A cmake/Modules/FindBoost.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake

  Log Message:
  -----------
  Boost cleanup (#578)

Substantially changes how we handle Boost builds in Dyninst.

Fixes #563

- Tagged build layouts are now fully supported
- Boost is exported to the same install structure as Dyninst (fixes #563)
- All cmake variables that control Boost's build options are now available for the user to change via cache variables (e.g., -DBoost_USE_MULTITHREADED)
- Substantial error handling has been added
- Consolidates all Boost-related activities into cmake/Boost.cmake
- Makes Boost-1.61 the new minimum version (needed for Filesystem)
- Builds Boost-1.69 when building from source


  Commit: 12cbc0e76d0ccc49eb78f987b05b69cbc3652fef
      https://github.com/dyninst/dyninst/commit/12cbc0e76d0ccc49eb78f987b05b69cbc3652fef
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2019-05-02 (Thu, 02 May 2019)

  Changed paths:
    M .gitmodules
    M CMakeLists.txt
    R cmake/Modules/FindTBB
    M cmake/Modules/FindTBB.cmake
    A cmake/ThreadingBuildingBlocks.cmake
    A cmake/ThreadingBuildingBlocks.install.cmake
    M cmake/packages.cmake

  Log Message:
  -----------
  TBB Cleanup (#584)

- Remove FindTBB submodule
- Consolidate all TBB stuff into cmake/ThreadingBuildingBlocks.cmake
- Explicitly die on non-UNIX platforms when building from source (previously, it did nothing)
- Minimum TBB version is 2018.0 (I'm not sure this is necessary or sufficient)
- Export include/library directories into the CMake cache for consumption by Testsuite
- Libraries and headers are exported to CMAKE_INSTALL_PREFIX when building from source
- Correctly handles broken TBB install (intel/tbb#98)
- Explicitly die on non-UNIX platforms when building from source (previously, it did nothing)
- Minimum TBB version is 2018.0 (I'm not sure this is necessary or sufficient)
- Export include/library directories into the CMake cache for consumption by Testsuite
- Default version to build from source is 2019_U5
- Libraries and headers are exported to CMAKE_INSTALL_PREFIX when building from source
- Correctly handles broken TBB install (intel/tbb#98)


  Commit: 227677a69185330f4a8bb7cd9d4bf91425808831
      https://github.com/dyninst/dyninst/commit/227677a69185330f4a8bb7cd9d4bf91425808831
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2019-05-02 (Thu, 02 May 2019)

  Changed paths:
    M CMakeLists.txt
    M README.md
    A cmake/ElfUtils.cmake
    A cmake/Modules/DyninstSystemPaths.cmake
    M cmake/Modules/FindLibDwarf.cmake
    M cmake/Modules/FindLibElf.cmake
    M cmake/packages.cmake
    M dwarf/CMakeLists.txt
    M elf/CMakeLists.txt
    M symtabAPI/CMakeLists.txt

  Log Message:
  -----------
  Elfutils cleanup (#591)

fixes #557
fixes #547
fixes #561

- Consolidate all elfutils options into cmake/ElfUtils.cmake
- Allow user to supply installation hint directories
- Allow user to specify minimum version
- Use user-specified minimum version when building from source instead of 'elfutils-latest.tar.gz'
- Unify system paths when searching for libelf and libdw (fixes #557)
- Correctly install headers/libs when building from source (fixes #547)
- Exports variables for use in Testsuite (fixes #561)
- Clean up formatting


  Commit: e691c4c35bf3fab66e581e54d4812edb3be9584e
      https://github.com/dyninst/dyninst/commit/e691c4c35bf3fab66e581e54d4812edb3be9584e
  Author: Sasha NÃcolas <sasha@xxxxxxxxxxx>
  Date:   2019-05-02 (Thu, 02 May 2019)

  Changed paths:
    M CMakeLists.txt
    M common/CMakeLists.txt
    M dyninstAPI_RT/CMakeLists.txt
    M elf/CMakeLists.txt
    M examples/CMakeLists.txt

  Log Message:
  -----------
  Fixing TBB dependencies during build. (#570)

Explicitly establish dependencies on TBB.


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

  Changed paths:
    M proccontrol/src/linux.C

  Log Message:
  -----------
  In ProccontrolAPI, adding reading & writing mutatee's memory with procfs.
We fall back to use ptrace if procfs read & write fail.

This change is for fixing icache coherence issue for ARM dynamic instrumentaiton.
ARM architecture does not guarantee icache-dcache coherence. And writes through
ptrace does not seem to invalidate icache contents and caused SIGILLs


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

  Changed paths:
    M symtabAPI/src/Symbol.C

  Log Message:
  -----------
  Only demangle names starting with "_Z" according to the Itanium C++ ABI


  Commit: 0a4adcbc3c1870519ae2b43ad604772ae695c481
      https://github.com/dyninst/dyninst/commit/0a4adcbc3c1870519ae2b43ad604772ae695c481
  Author: Keren Zhou <robinho364@xxxxxxxxx>
  Date:   2019-05-07 (Tue, 07 May 2019)

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

  Log Message:
  -----------
  Support parsing cubin in dyninst-10.0 (#556)


  Commit: 4fca3d7ec39175f4afcca382dba60e4bd7346fbe
      https://github.com/dyninst/dyninst/commit/4fca3d7ec39175f4afcca382dba60e4bd7346fbe
  Author: Sasha NÃcolas <sasha@xxxxxxxxxxx>
  Date:   2019-05-08 (Wed, 08 May 2019)

  Changed paths:
    M proccontrol/src/int_thread_db.C
    M proccontrol/src/int_thread_db.h

  Log Message:
  -----------
  Fix compilation of thread_db_process (#571)

On a machine without libthread_db.so, the placeholder class had missing member functions and the contructors were calling wrong base constructors.


  Commit: 874b3b27cc4c039f029fa4f15b0104e138a5a456
      https://github.com/dyninst/dyninst/commit/874b3b27cc4c039f029fa4f15b0104e138a5a456
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2019-05-09 (Thu, 09 May 2019)

  Changed paths:
    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/dwarfResult.C
    M dyninstAPI/src/stackwalk-aarch64.C
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/linux-aarch64-swk.C

  Log Message:
  -----------
  Fix DwarfFrameParser, decodeDwarfExpression and DwarfResult

After porting Dyninst to use libdw, DwarfFrameParser missed dealing
with important Dwarf operations that would decode rules for findind
registers values. These rules were not properly decoded by Dyninst
decodeDwarfExpression, neither were being dealt by DwarFrameParser.
This fix properly retrieves libdw Dwarf operations and decodes them,
making it possible to DebugStepper work, which wasn't even before the
port, when lidwarf was being used on Dyninst 9.3.

Basically, Dwarf frame info can be a simple dwarf expression, representing
a value or a memory address, a location description, or a location list.
Libdw gives the consumer an array of dwarf operations that describes how
to find the value they're looking for, as opposed to libdwarf who gives
the consumer many out parameters that lead to different ways to find a
value. This important change made DwarfFrameParser work only partially
after the port. And this fix came to implement the cases that were not
being considered.


  Commit: 9e8d72d1aa022ec6385dab2ac8525515459b97ac
      https://github.com/dyninst/dyninst/commit/9e8d72d1aa022ec6385dab2ac8525515459b97ac
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-05-10 (Fri, 10 May 2019)

  Changed paths:
    M common/h/entryIDs.h
    M common/src/arch-x86.C
    M common/src/arch-x86.h
    M instructionAPI/src/InstructionDecoder-x86.C

  Log Message:
  -----------
  Add initial support for decoding AMD FMA4 and XOP instructions (#575)

* Add initial support for decoding AMD FMA4 instruction, including:

e_vfmaddsd, e_vfmaddss, e_vfmsubpd, e_vfmsubsd, e_vfnmaddpd,
e_vfnmaddsd,

* Add initial support for decoding XOP instructions:

e_vpcomd, e_vpmacsdd, e_vpcmov, e_vpshad

* Add x86 instruction decoding support for vpperm, movbe, vpperm


  Commit: e41e56665883ebc93bd29fc4c1822da1452de208
      https://github.com/dyninst/dyninst/commit/e41e56665883ebc93bd29fc4c1822da1452de208
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2019-05-10 (Fri, 10 May 2019)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Update README to reflect new build system (#597)


  Commit: d3c4de8321a6a82bda2be3f87a88733434c3a724
      https://github.com/dyninst/dyninst/commit/d3c4de8321a6a82bda2be3f87a88733434c3a724
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-05-10 (Fri, 10 May 2019)

  Changed paths:
    M common/src/dyn_regs.C
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/SymEval.C

  Log Message:
  -----------
  Fix jump table analysis for ROSE Registers (#576)

Remove assertions in code from translating Dyninst::MachRegister to ROSE Register. In addition, passing the error code back to jump table analysis.


  Commit: 4b5a6a6fdcc654820635582f489425c059a7edb7
      https://github.com/dyninst/dyninst/commit/4b5a6a6fdcc654820635582f489425c059a7edb7
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-05-10 (Fri, 10 May 2019)

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

  Log Message:
  -----------
  BPatch_effectiveAddress truncates mem addresses on Power (#593)

In certain circumstances, BPatch_effectiveAddress would generate code that truncated
memory addresses to the bottom 32bits. The result is that instrimentation would see only
the bottom 32bits of any memory address. Before this patch, the issue occurred when instrumentation was applied to load/store instructions where the address was located in registers r3-r11 (exclusive). Ideally this function should just be straight removed in future releases (only used by emitASLoad).


  Commit: 99f232ea3b83a494ad45b30662e676b7350e05b1
      https://github.com/dyninst/dyninst/commit/99f232ea3b83a494ad45b30662e676b7350e05b1
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-05-10 (Fri, 10 May 2019)

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

  Log Message:
  -----------
  Add ARM effective address calculation (#594)


  Commit: 225db759af14abda96b7ff3dbd9b088f516a0466
      https://github.com/dyninst/dyninst/commit/225db759af14abda96b7ff3dbd9b088f516a0466
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2019-05-10 (Fri, 10 May 2019)

  Changed paths:
    M CMakeLists.txt

  Log Message:
  -----------
  Bump minimum CMake version to 3.4.0 (#598)

This is needed for FindBoost and is already in the Spack recipe


  Commit: 4441edc24eb7f5c2a521cea1ec7ea6fa56bc1552
      https://github.com/dyninst/dyninst/commit/4441edc24eb7f5c2a521cea1ec7ea6fa56bc1552
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-05-11 (Sat, 11 May 2019)

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

  Log Message:
  -----------
  Disable incomplete implementation for RA compensation for stack
unwinding


  Commit: 9486c91ae71643196b1f832b8b3cdc5d52c9ee91
      https://github.com/dyninst/dyninst/commit/9486c91ae71643196b1f832b8b3cdc5d52c9ee91
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-05-11 (Sat, 11 May 2019)

  Changed paths:
    M dataflowAPI/src/slicing.C
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M dyninstAPI/src/Relocation/CodeMover.C
    M dyninstAPI/src/Relocation/Springboard.C
    M dyninstAPI/src/Relocation/Springboard.h
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.h
    M dyninstAPI/src/Relocation/Transformers/Transformer.h
    A dyninstAPI/src/Relocation/Widgets/PCWidget-aarch64.C
    A dyninstAPI/src/Relocation/Widgets/PCWidget-ppc.C
    A dyninstAPI/src/Relocation/Widgets/PCWidget-x86.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/mapped_module.C
    M parseAPI/h/CFG.h
    M parseAPI/src/Block.C
    M parseAPI/src/Function.C
    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/Parser.C
    M parseAPI/src/Parser.h
    M proccontrol/src/linux.C
    M symtabAPI/src/Symbol.C
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  Merge pull request #592 from dyninst/pp_springboard

More fixes for parallel parsing, spring boards, and ARM


  Commit: cee393ea7f9800d8715d2198bf8f856474baeaa0
      https://github.com/dyninst/dyninst/commit/cee393ea7f9800d8715d2198bf8f856474baeaa0
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-05-11 (Sat, 11 May 2019)

  Changed paths:
    M parseAPI/src/CFGModifier.C

  Log Message:
  -----------
  When splitting a block using CFGModifier::split, we need to record the
new block in parse_data


  Commit: fa456d425db76b4b23ea5806cd3d3b3901138679
      https://github.com/dyninst/dyninst/commit/fa456d425db76b4b23ea5806cd3d3b3901138679
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-05-11 (Sat, 11 May 2019)

  Changed paths:
    M dyninstAPI/src/BPatch_snippet.C

  Log Message:
  -----------
  Right now, the BPatch_deref and BPatch_regExpr do not specify the size.
Currently the default is 32-bit. Change the default to 64-bit


  Commit: 1885be2eb3a95d7342ec78f5de5a56e8a6b1d01e
      https://github.com/dyninst/dyninst/commit/1885be2eb3a95d7342ec78f5de5a56e8a6b1d01e
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-05-11 (Sat, 11 May 2019)

  Changed paths:
    M dyninstAPI/h/BPatch_snippet.h
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h

  Log Message:
  -----------
  Augment BPatch_effectiveAddressExpr to accept a second parameter, which
represents the number of bytes to access if reading/writing with this
snippet.

API compatibility is maintained by setting the default value of the
seoncd parameter to 8 (bytes)


  Commit: 1e1b18e93a75e4f0a9ebcbcf1eae9fca8c545733
      https://github.com/dyninst/dyninst/commit/1e1b18e93a75e4f0a9ebcbcf1eae9fca8c545733
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-05-11 (Sat, 11 May 2019)

  Changed paths:
    M dyninstAPI/h/BPatch_snippet.h
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    M parseAPI/src/CFGModifier.C

  Log Message:
  -----------
  Merge pull request #564 from dyninst/patch_cfg

Fix bad interactions between patchAPI and parseAPI


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

  Changed paths:
    M proccontrol/h/Event.h
    M proccontrol/h/PCProcess.h
    M proccontrol/h/ProcessSet.h
    M proccontrol/src/irpc.h
    M proccontrol/src/response.h
    M proccontrol/src/windows_handler.h

  Log Message:
  -----------
  Compilation fix for boost 1.70


  Commit: 85be2b7c995abd51934c23a51a6de73c1316db0c
      https://github.com/dyninst/dyninst/commit/85be2b7c995abd51934c23a51a6de73c1316db0c
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-05-13 (Mon, 13 May 2019)

  Changed paths:
    M proccontrol/h/Event.h
    M proccontrol/h/PCProcess.h
    M proccontrol/h/ProcessSet.h
    M proccontrol/src/irpc.h
    M proccontrol/src/response.h
    M proccontrol/src/windows_handler.h

  Log Message:
  -----------
  Merge pull request #600 from dyninst/boost_1_70_fix

Compilation fix for boost 1.70


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

  Changed paths:
    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/dwarfResult.C
    M dyninstAPI/src/stackwalk-aarch64.C
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/linux-aarch64-swk.C

  Log Message:
  -----------
  Merge pull request #596 from dyninst/fix-sw-stepper

Fix DwarfFrameParser, decodeDwarfExpression and DwarfResult


  Commit: 310cf34dabf7b9b11b088401f1ee3435c8a8d67e
      https://github.com/dyninst/dyninst/commit/310cf34dabf7b9b11b088401f1ee3435c8a8d67e
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M CMakeLists.txt
    A cmake/LibIberty.cmake
    M cmake/Modules/FindLibIberty.cmake
    M cmake/cap_arch_def.cmake
    M cmake/options.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake

  Log Message:
  -----------
  Update LibIberty to new build system (#601)

* Update LibIberty to new build system
* Include LibIberty from base CMakeLists.txt
* Correctly use USE_GNU_DEMANGLER in cap_arch_def
* Remove USE_GNU_DEMANGER from options.cmake
     This is now handled in cmake/LibIberty.cmake.


  Commit: a2a2649f17f4e079aa2a25abe65e808f4a89f4ef
      https://github.com/dyninst/dyninst/commit/a2a2649f17f4e079aa2a25abe65e808f4a89f4ef
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M cmake/Modules/FindTBB.cmake
    M cmake/ThreadingBuildingBlocks.cmake

  Log Message:
  -----------
  TBB spack fixes (#595)

* Fix typos and formatting in TBB CMake files
* Set minimum version of TBB to 2018.6
    This is what the Spack package is using.
* Set the source version of TBB to 2019.5
    This is the most recent version.
* In TBB, split the dotted-decimal version to make the download version
* Correctly handle minor version in FindTBB


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

  Changed paths:
    M cmake/shared.cmake
    M common/doc/manual_frontpage.tex
    M dataflowAPI/doc/dataflowAPI.pdf
    M dyninstAPI/doc/dyninstAPI.docx
    M dyninstAPI/doc/dyninstAPI.pdf
    M instructionAPI/doc/instructionAPI.pdf
    M parseAPI/doc/parseAPI.pdf
    M patchAPI/doc/Makefile.doc
    M patchAPI/doc/patchAPI.pdf
    M proccontrol/doc/proccontrol.docx
    M proccontrol/doc/proccontrol.pdf
    M symtabAPI/doc/symtabAPI.pdf

  Log Message:
  -----------
  Update version number to 10.1.0


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

  Changed paths:
    M .github_changelog_generator
    M CHANGELOG.md

  Log Message:
  -----------
  Update CHANGELOD for 10.1


  Commit: f0ceed06acc70490a1e5df9be93a5c11d72eb4dd
      https://github.com/dyninst/dyninst/commit/f0ceed06acc70490a1e5df9be93a5c11d72eb4dd
  Author: Tim <thaines.astro@xxxxxxxxx>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Move advanced build instructions and FAQ to wiki


  Commit: d1b7793223d7da788bfc8bdec1e5eeb2f0413678
      https://github.com/dyninst/dyninst/commit/d1b7793223d7da788bfc8bdec1e5eeb2f0413678
  Author: Tim <thaines.astro@xxxxxxxxx>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M cmake/Boost.cmake

  Log Message:
  -----------
  Fix doc bug in Boost.cmake


  Commit: fc6212abbb6646c97a3aec1c861fc605ba516993
      https://github.com/dyninst/dyninst/commit/fc6212abbb6646c97a3aec1c861fc605ba516993
  Author: Tim <thaines.astro@xxxxxxxxx>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M cmake/LibIberty.cmake
    M cmake/Modules/FindLibIberty.cmake

  Log Message:
  -----------
  Fix doc bugs in LibIberty


  Commit: 1e2a0f1633d297f8566d0536d4a7746fb85d33fd
      https://github.com/dyninst/dyninst/commit/1e2a0f1633d297f8566d0536d4a7746fb85d33fd
  Author: Tim <thaines.astro@xxxxxxxxx>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Fix formatting in README


  Commit: ff0aae321af320fc33055df92a4c2bc3c4950378
      https://github.com/dyninst/dyninst/commit/ff0aae321af320fc33055df92a4c2bc3c4950378
  Author: Tim <thaines.astro@xxxxxxxxx>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Add example usage of CMAKE_INSTALL_PREFIX


  Commit: 0d468bab54d950a770aa224cef9d81bcaf4c5637
      https://github.com/dyninst/dyninst/commit/0d468bab54d950a770aa224cef9d81bcaf4c5637
  Author: Tim <thaines.astro@xxxxxxxxx>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Fix broken link in README


  Commit: fdc4d6a2a82726f1c2d71cac47ae66c204f9c1ea
      https://github.com/dyninst/dyninst/commit/fdc4d6a2a82726f1c2d71cac47ae66c204f9c1ea
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-05-16 (Thu, 16 May 2019)

  Changed paths:
    M .github_changelog_generator
    M CHANGELOG.md
    M README.md
    M cmake/Boost.cmake
    M cmake/LibIberty.cmake
    M cmake/Modules/FindLibIberty.cmake
    M cmake/shared.cmake
    M common/doc/manual_frontpage.tex
    M dataflowAPI/doc/dataflowAPI.pdf
    M dyninstAPI/doc/dyninstAPI.docx
    M dyninstAPI/doc/dyninstAPI.pdf
    M instructionAPI/doc/instructionAPI.pdf
    M parseAPI/doc/parseAPI.pdf
    M patchAPI/doc/Makefile.doc
    M patchAPI/doc/patchAPI.pdf
    M proccontrol/doc/proccontrol.docx
    M proccontrol/doc/proccontrol.pdf
    M symtabAPI/doc/symtabAPI.pdf

  Log Message:
  -----------
  Merge pull request #599 from dyninst/bump_version_number

Update version number to 10.1.0


  Commit: 7ba2c18ec4c87b8c6021bcc33b8ec3f323e9adae
      https://github.com/dyninst/dyninst/commit/7ba2c18ec4c87b8c6021bcc33b8ec3f323e9adae
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2019-06-05 (Wed, 05 Jun 2019)

  Changed paths:
    M .github_changelog_generator
    M .gitmodules
    M CHANGELOG.md
    M CMakeLists.txt
    M README.md
    A cmake/Boost.cmake
    A cmake/ElfUtils.cmake
    A cmake/LibIberty.cmake
    A cmake/Modules/DyninstSystemPaths.cmake
    A cmake/Modules/FindBoost.cmake
    M cmake/Modules/FindLibDwarf.cmake
    M cmake/Modules/FindLibElf.cmake
    M cmake/Modules/FindLibIberty.cmake
    R cmake/Modules/FindTBB
    M cmake/Modules/FindTBB.cmake
    A cmake/ThreadingBuildingBlocks.cmake
    A cmake/ThreadingBuildingBlocks.install.cmake
    M cmake/cap_arch_def.cmake
    M cmake/options.cmake
    M cmake/packages.cmake
    M cmake/shared.cmake
    M common/CMakeLists.txt
    M common/doc/manual_frontpage.tex
    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/dataflowAPI.pdf
    M dataflowAPI/src/ExpressionConversionVisitor.C
    M dataflowAPI/src/RoseInsnFactory.C
    M dataflowAPI/src/SymEval.C
    M dataflowAPI/src/slicing.C
    M dwarf/CMakeLists.txt
    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/dwarfResult.C
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/doc/dyninstAPI.docx
    M dyninstAPI/doc/dyninstAPI.pdf
    M dyninstAPI/h/BPatch_snippet.h
    M dyninstAPI/src/BPatch_memoryAccessAdapter.C
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/Relocation/CFG/RelocBlock.C
    M dyninstAPI/src/Relocation/CodeMover.C
    M dyninstAPI/src/Relocation/Springboard.C
    M dyninstAPI/src/Relocation/Springboard.h
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.C
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.h
    M dyninstAPI/src/Relocation/Transformers/Transformer.h
    A dyninstAPI/src/Relocation/Widgets/PCWidget-aarch64.C
    A dyninstAPI/src/Relocation/Widgets/PCWidget-ppc.C
    A dyninstAPI/src/Relocation/Widgets/PCWidget-x86.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget.C
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/mapped_module.C
    M dyninstAPI/src/registerSpace.C
    M dyninstAPI/src/stackwalk-aarch64.C
    M dyninstAPI_RT/CMakeLists.txt
    M elf/CMakeLists.txt
    M examples/CMakeLists.txt
    M instructionAPI/doc/instructionAPI.pdf
    M instructionAPI/src/InstructionDecoder-x86.C
    M parseAPI/doc/parseAPI.pdf
    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/Function.C
    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.C
    M parseAPI/src/Parser.C
    M parseAPI/src/Parser.h
    M patchAPI/doc/Makefile.doc
    M patchAPI/doc/patchAPI.pdf
    A patchAPI/example/README.md
    A patchAPI/example/main.cpp
    A patchAPI/example/mutatee/main.c
    M proccontrol/doc/proccontrol.docx
    M proccontrol/doc/proccontrol.pdf
    M proccontrol/h/Event.h
    M proccontrol/h/PCProcess.h
    M proccontrol/h/ProcessSet.h
    M proccontrol/src/int_thread_db.C
    M proccontrol/src/int_thread_db.h
    M proccontrol/src/irpc.h
    M proccontrol/src/linux.C
    M proccontrol/src/response.h
    M proccontrol/src/windows_handler.h
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/linux-aarch64-swk.C
    M symtabAPI/CMakeLists.txt
    M symtabAPI/doc/symtabAPI.pdf
    M symtabAPI/src/Symbol.C
    M symtabAPI/src/emitElf.C

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


Compare: https://github.com/dyninst/dyninst/compare/88976c99bf52...7ba2c18ec4c8

[← Prev in Thread] Current Thread [Next in Thread→]