[DynInst_API:] [dyninst/dyninst] 31e138: Minor fixes for ARM64 semantics


Date: Mon, 12 Sep 2016 15:13:29 -0700
From: Sunny Shah <shah28@xxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 31e138: Minor fixes for ARM64 semantics
  Branch: refs/heads/arm64/feature/semantics
  Home:   https://github.com/dyninst/dyninst
  Commit: 31e138a3eef66fe7992236deacc5504b9d7851d0
      https://github.com/dyninst/dyninst/commit/31e138a3eef66fe7992236deacc5504b9d7851d0
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-09-12 (Mon, 12 Sep 2016)

  Changed paths:
    M dataflowAPI/rose/semantics/BaseSemantics2.C
    M dataflowAPI/rose/semantics/SymEvalSemantics.h

  Log Message:
  -----------
  Minor fixes for ARM64 semantics

* Fixed order of arguments in initialization of a boolean SValue in SymEvalSemantics
* Dispatcher::read() in BaseSemantics now does not assert if the input expression is an SgAsmBinaryLsl


  Commit: acaf57bd1dd9431d7d9c4cc6ac5ff549010f5e6b
      https://github.com/dyninst/dyninst/commit/acaf57bd1dd9431d7d9c4cc6ac5ff549010f5e6b
  Author: Sunny Shah <shah28@xxxxxxxx>
  Date:   2016-09-12 (Mon, 12 Sep 2016)

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

  Log Message:
  -----------
  Effective address calculation and load/store instruction semantics fixes.

The 'address' variable in the semantics for load/store instructions should not directly call Dispatcher::read(), but should only store the address of the target location in memory. The semantics have been updated to reflect this. A new method - DispatcherARM64::effectiveAddress() - is added which is called in the above scenario.

In addition, the pre-fix part of the address calculation doesn't have to be performed again in dataflow API since the required information is already encoded in the AST by instruction API.


Compare: https://github.com/dyninst/dyninst/compare/3ac05a759702...acaf57bd1dd9
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 31e138: Minor fixes for ARM64 semantics, Sunny Shah <=