Remove hidden static in run_basic_block_analysis
This commit is contained in:
parent
36804f10f5
commit
aa7e6d80ad
3 changed files with 6 additions and 5 deletions
|
|
@ -139,6 +139,7 @@ RZ_API RzAnalysis *rz_analysis_new(void) {
|
||||||
analysis->hash = rz_hash_new();
|
analysis->hash = rz_hash_new();
|
||||||
analysis->debug_info = rz_analysis_debug_info_new();
|
analysis->debug_info = rz_analysis_debug_info_new();
|
||||||
analysis->cmpval = UT64_MAX;
|
analysis->cmpval = UT64_MAX;
|
||||||
|
analysis->lea_jmptbl_ip = UT64_MAX;
|
||||||
return analysis;
|
return analysis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -643,7 +643,6 @@ static RzAnalysisBBEndCause run_basic_block_analysis(RzAnalysisTaskItem *item, R
|
||||||
gotoBeach(RZ_ANALYSIS_RET_ERROR);
|
gotoBeach(RZ_ANALYSIS_RET_ERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
static ut64 lea_jmptbl_ip = UT64_MAX;
|
|
||||||
ut64 last_reg_mov_lea_val = UT64_MAX;
|
ut64 last_reg_mov_lea_val = UT64_MAX;
|
||||||
bool last_is_reg_mov_lea = false;
|
bool last_is_reg_mov_lea = false;
|
||||||
bool last_is_push = false;
|
bool last_is_push = false;
|
||||||
|
|
@ -986,7 +985,7 @@ static RzAnalysisBBEndCause run_basic_block_analysis(RzAnalysisTaskItem *item, R
|
||||||
? rz_analysis_walkthrough_jmptbl(analysis, fcn, bb, ¶ms)
|
? rz_analysis_walkthrough_jmptbl(analysis, fcn, bb, ¶ms)
|
||||||
: rz_analysis_walkthrough_casetbl(analysis, fcn, bb, ¶ms);
|
: rz_analysis_walkthrough_casetbl(analysis, fcn, bb, ¶ms);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
lea_jmptbl_ip = jmp_aop.addr;
|
analysis->lea_jmptbl_ip = jmp_aop.addr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1267,7 +1266,7 @@ static RzAnalysisBBEndCause run_basic_block_analysis(RzAnalysisTaskItem *item, R
|
||||||
gotoBeach(RZ_ANALYSIS_RET_END);
|
gotoBeach(RZ_ANALYSIS_RET_END);
|
||||||
}
|
}
|
||||||
// switch statement
|
// switch statement
|
||||||
if (analysis->opt.jmptbl && lea_jmptbl_ip != op.addr) {
|
if (analysis->opt.jmptbl && analysis->lea_jmptbl_ip != op.addr) {
|
||||||
RzAnalysisJmpTableParams params = {
|
RzAnalysisJmpTableParams params = {
|
||||||
.jmp_address = op.addr,
|
.jmp_address = op.addr,
|
||||||
.entry_size = analysis->bits >> 3,
|
.entry_size = analysis->bits >> 3,
|
||||||
|
|
@ -1361,8 +1360,8 @@ static RzAnalysisBBEndCause run_basic_block_analysis(RzAnalysisTaskItem *item, R
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (lea_jmptbl_ip == op.addr) {
|
if (analysis->lea_jmptbl_ip == op.addr) {
|
||||||
lea_jmptbl_ip = UT64_MAX;
|
analysis->lea_jmptbl_ip = UT64_MAX;
|
||||||
}
|
}
|
||||||
if (analysis->opt.ijmp) {
|
if (analysis->opt.ijmp) {
|
||||||
if (continue_after_jump) {
|
if (continue_after_jump) {
|
||||||
|
|
|
||||||
|
|
@ -534,6 +534,7 @@ typedef struct rz_analysis_t {
|
||||||
RzHash *hash;
|
RzHash *hash;
|
||||||
RzAnalysisDebugInfo *debug_info; ///< store all debug info parsed from DWARF, etc..
|
RzAnalysisDebugInfo *debug_info; ///< store all debug info parsed from DWARF, etc..
|
||||||
ut64 cmpval; ///< last compare value for jump table.
|
ut64 cmpval; ///< last compare value for jump table.
|
||||||
|
ut64 lea_jmptbl_ip; ///< jump table x86 lea ip
|
||||||
} RzAnalysis;
|
} RzAnalysis;
|
||||||
|
|
||||||
typedef enum rz_analysis_addr_hint_type_t {
|
typedef enum rz_analysis_addr_hint_type_t {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue