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
|