Branch: refs/heads/pp_springboard
Home: https://github.com/dyninst/dyninst
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.
|