[DynInst_API:] [dyninst/dyninst] a2b967: Fixed modifyData logic for offset values beyond +/...


Date: Fri, 07 Apr 2017 12:48:09 -0700
From: Sunny Shah <shah28@xxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] a2b967: Fixed modifyData logic for offset values beyond +/...
  Branch: refs/heads/arm64/feature/relocation
  Home:   https://github.com/dyninst/dyninst
  Commit: a2b9679273c1b3a456fd1bdac5d254562fe4d4d0
      https://github.com/dyninst/dyninst/commit/a2b9679273c1b3a456fd1bdac5d254562fe4d4d0
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2017-04-07 (Fri, 07 Apr 2017)

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

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

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


[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] a2b967: Fixed modifyData logic for offset values beyond +/..., Sunny Shah <=