[DynInst_API:] [dyninst/dyninst] fe7edc: Merge branch 'ARM_effcAddr' into ARMv8


Date: Tue, 19 Feb 2019 17:02:02 -0800
From: Xiaozhu Meng <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] fe7edc: Merge branch 'ARM_effcAddr' into ARMv8
  Branch: refs/heads/ARMv8_stackwalk
  Home:   https://github.com/dyninst/dyninst
  Commit: fe7edc0422987d26ccc45fd1bad689d32a97d110
      https://github.com/dyninst/dyninst/commit/fe7edc0422987d26ccc45fd1bad689d32a97d110
  Author: Sasha @leela <sasha@xxxxxxxxxxx>
  Date:   2019-02-15 (Fri, 15 Feb 2019)

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

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


  Commit: 3303009b24f60bf415f0500a152c0d80891f7d6f
      https://github.com/dyninst/dyninst/commit/3303009b24f60bf415f0500a152c0d80891f7d6f
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-02-18 (Mon, 18 Feb 2019)

  Changed paths:
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/dynProcess.h
    M dyninstAPI/src/mapped_object.C
    M dyninstAPI/src/pdwinnt.C
    M dyninstAPI/src/unix.C
    M dyninstAPI/src/vxworks.C

  Log Message:
  -----------
  In dynamic instrumentation for PIE, finding variables's locations needs to add the load base of the PIE.

Get rid of wrong, special handling of finding the load base of PIE.


  Commit: 2724e2766a047d2bb071b79dff764cd42e7467e5
      https://github.com/dyninst/dyninst/commit/2724e2766a047d2bb071b79dff764cd42e7467e5
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-02-18 (Mon, 18 Feb 2019)

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

  Log Message:
  -----------
  On x86-64, when emulating call with push & jmp, the push needs to push all 64-bit of the callee addresses.


  Commit: 9e5ee0412f789014125b1552c1117a0569b10384
      https://github.com/dyninst/dyninst/commit/9e5ee0412f789014125b1552c1117a0569b10384
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-02-18 (Mon, 18 Feb 2019)

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

  Log Message:
  -----------
  A few fixes for PIC instrumentation on power

1. Fix PC-relative load and store of variables
2. The preamble of PIE uses R12 to set up R2. However,
when generating intra-module calls, Dyninst does not
set up R12 and will call the global entry, causing R2 to
be incorrect. Since there is no need to change R2 for
intra-module calls, we should call the local entry


  Commit: c4e7266d3486498a32d09134a4cb31078e01003b
      https://github.com/dyninst/dyninst/commit/c4e7266d3486498a32d09134a4cb31078e01003b
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-02-18 (Mon, 18 Feb 2019)

  Changed paths:
    M dyninstAPI/src/Relocation/Widgets/CFWidget-ppc.C

  Log Message:
  -----------
  Fix function call replacment on power for PIC.

Need to call local entry when doing an intra-module call


  Commit: 0ef48ba3d4bbcf4c6b0f5c9d6ee01c0d32c3a5ec
      https://github.com/dyninst/dyninst/commit/0ef48ba3d4bbcf4c6b0f5c9d6ee01c0d32c3a5ec
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-02-18 (Mon, 18 Feb 2019)

  Changed paths:
    M symtabAPI/src/emitElfStatic-x86.C

  Log Message:
  -----------
  Handle relocation type R_X86_64_REX_GOTPCRELX for binary rewriting of
statically linked binaries on x86-64


  Commit: 558b8b3a36504491a1a9697cbbdae497a52ef697
      https://github.com/dyninst/dyninst/commit/558b8b3a36504491a1a9697cbbdae497a52ef697
  Author: Bill Williams <bill@xxxxxxxxxxx>
  Date:   2019-02-19 (Tue, 19 Feb 2019)

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

  Log Message:
  -----------
  Add ucontext based sighandler stepper implementation

Update list of default steppers


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

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

  Log Message:
  -----------
  Add aarch64 sigreturn names


  Commit: 5bba5bd63c8f03a4f26b027da15a842ec8033758
      https://github.com/dyninst/dyninst/commit/5bba5bd63c8f03a4f26b027da15a842ec8033758
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-02-19 (Tue, 19 Feb 2019)

  Changed paths:
    M stackwalk/src/dbginfo-stepper.C

  Log Message:
  -----------
  Should continue to apply other steppers when the DebugStepper cannot find corresponding libraries. This could happen for a signal handler frame.


  Commit: fb1b826e30c0f491d21022a4e507fad5c682ed40
      https://github.com/dyninst/dyninst/commit/fb1b826e30c0f491d21022a4e507fad5c682ed40
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-02-19 (Tue, 19 Feb 2019)

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

  Log Message:
  -----------
  For ARMv8 stack walking,
1. the signal return trampoline code is in the vsyscall page (vdso)
2. the ucontext_t structure is not on the top of the stack, but a specific offset. May need to find a better way to determine its location.
3. the FrameFuncStepper needs to check whether it should be applied


  Commit: 7425ef1b7fc7d4c1f6fa70649501580354491b3c
      https://github.com/dyninst/dyninst/commit/7425ef1b7fc7d4c1f6fa70649501580354491b3c
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-02-19 (Tue, 19 Feb 2019)

  Changed paths:
    M stackwalk/src/dbginfo-stepper.C
    M stackwalk/src/walker.C

  Log Message:
  -----------
  1. A function that does a system may not save x30 onto stack, such as raise. For these functions, the return address is not on the stack and should be found in the ucontext
2. The stackwalk vector in Walker::walkStackFromFrame is used as an output parameter. When new frames are pushed into the vector, the vector may realloc spaces. Each frame has a prev_frame pointer points to the previous frame. This prev_frame pointer has to be updated for frames, when the vector reallocation happened.


  Commit: 9e2c3e99cb072f521d9b7f0975570d5a9c713892
      https://github.com/dyninst/dyninst/commit/9e2c3e99cb072f521d9b7f0975570d5a9c713892
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-02-19 (Tue, 19 Feb 2019)

  Changed paths:
    M stackwalk/src/dbginfo-stepper.C

  Log Message:
  -----------
  The previous fix should only be compiled on arm


Compare: https://github.com/dyninst/dyninst/compare/fe7edc042298%5E...9e2c3e99cb07
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] fe7edc: Merge branch 'ARM_effcAddr' into ARMv8, Xiaozhu Meng <=