code_inference_postprocess
- code_in_refined_block(ea:address, block:address)
Uses:
must_fallthroughUsed by:
+disconnected3,+disconnected5,block_has_non_nop,cfg_edge,fde_instruction_block_offset,mips_stubs_entry,refined_block_last_instructionRecursive:
symbolic_expr,best_symexpr_symbol,symbol_minus_symbol_from_relocation,inferred_symbol_mips,labeled_ea,moved_label_candidate,jump_table,code_in_refined_block,symbol_score,moved_label,+disconnected4,best_func_symbol,symbolic_data,data_limit,string_candidate_refined,+disconnected6,label_conflict,data_object_point,resolved_transfer,split_block,value_reg_address_before,string_candidate,discarded_jump_table_entry,symbol_minus_symbol_candidate,discarded_data_object,code_in_split_block,symbolic_operand_point,block_needs_splitting_at,next_data_limit,got_reference,preferred_data_access,address_array_aux,moved_pc_relative_candidate,data_object_conflict,symbolic_operand_attribute,symbolic_expr_attribute,moved_data_label,block_needs_merging,main_function,labeled_data_candidate,+disconnected1,inferred_special_symbol,relative_jump_table_entry,data_access_limit,data_object_candidate,symbolic_expr_symbol_minus_symbol,next_address_in_data,code_pointer_in_data,inferred_main_function,+disconnected2,refined_block,boundary_sym_expr,function_inference.function_entry,inferred_symbol,symbolic_operand,data_object,subsequent_string_candidate,symbol_minus_symbol,data_object_total_points,data_limit_after_access,address_array,after_address_in_data,moved_displacement_candidate
- refined_block(block:address)
Used by:
cfg_edge,fde_block_addresses,function_inference.in_function_initial,function_inference.not_in_function_initial,nop_blockRecursive:
symbolic_expr,best_symexpr_symbol,symbol_minus_symbol_from_relocation,inferred_symbol_mips,labeled_ea,moved_label_candidate,jump_table,code_in_refined_block,symbol_score,moved_label,+disconnected4,best_func_symbol,symbolic_data,data_limit,string_candidate_refined,+disconnected6,label_conflict,data_object_point,resolved_transfer,split_block,value_reg_address_before,string_candidate,discarded_jump_table_entry,symbol_minus_symbol_candidate,discarded_data_object,code_in_split_block,symbolic_operand_point,block_needs_splitting_at,next_data_limit,got_reference,preferred_data_access,address_array_aux,moved_pc_relative_candidate,data_object_conflict,symbolic_operand_attribute,symbolic_expr_attribute,moved_data_label,block_needs_merging,main_function,labeled_data_candidate,+disconnected1,inferred_special_symbol,relative_jump_table_entry,data_access_limit,data_object_candidate,symbolic_expr_symbol_minus_symbol,next_address_in_data,code_pointer_in_data,inferred_main_function,+disconnected2,refined_block,boundary_sym_expr,function_inference.function_entry,inferred_symbol,symbolic_operand,data_object,subsequent_string_candidate,symbol_minus_symbol,data_object_total_points,data_limit_after_access,address_array,after_address_in_data,moved_displacement_candidate
- block_information(Block:address, Size:unsigned, StartAddress:address, EndAddress:address)
- refined_block_last_instruction(block:address, EA:address)
- refined_block_control_instruction(block:address, EA:address)
Used by:
cfg_edge,cfg_edge_to_symbol,cfg_edge_to_top
- block_needs_splitting_at(EA:address)
Uses:
base_addr_offset_operand,cinf_ldr_add_pc,code_in_block,code_in_block_candidate,jump_table_candidate_refined,padding_prefix_endRecursive:
symbolic_expr,best_symexpr_symbol,symbol_minus_symbol_from_relocation,inferred_symbol_mips,labeled_ea,moved_label_candidate,jump_table,code_in_refined_block,symbol_score,moved_label,+disconnected4,best_func_symbol,symbolic_data,data_limit,string_candidate_refined,+disconnected6,label_conflict,data_object_point,resolved_transfer,split_block,value_reg_address_before,string_candidate,discarded_jump_table_entry,symbol_minus_symbol_candidate,discarded_data_object,code_in_split_block,symbolic_operand_point,block_needs_splitting_at,next_data_limit,got_reference,preferred_data_access,address_array_aux,moved_pc_relative_candidate,data_object_conflict,symbolic_operand_attribute,symbolic_expr_attribute,moved_data_label,block_needs_merging,main_function,labeled_data_candidate,+disconnected1,inferred_special_symbol,relative_jump_table_entry,data_access_limit,data_object_candidate,symbolic_expr_symbol_minus_symbol,next_address_in_data,code_pointer_in_data,inferred_main_function,+disconnected2,refined_block,boundary_sym_expr,function_inference.function_entry,inferred_symbol,symbolic_operand,data_object,subsequent_string_candidate,symbol_minus_symbol,data_object_total_points,data_limit_after_access,address_array,after_address_in_data,moved_displacement_candidate
- code_in_split_block(ea:address, block:address)
Uses:
code_in_block,nextRecursive:
symbolic_expr,best_symexpr_symbol,symbol_minus_symbol_from_relocation,inferred_symbol_mips,labeled_ea,moved_label_candidate,jump_table,code_in_refined_block,symbol_score,moved_label,+disconnected4,best_func_symbol,symbolic_data,data_limit,string_candidate_refined,+disconnected6,label_conflict,data_object_point,resolved_transfer,split_block,value_reg_address_before,string_candidate,discarded_jump_table_entry,symbol_minus_symbol_candidate,discarded_data_object,code_in_split_block,symbolic_operand_point,block_needs_splitting_at,next_data_limit,got_reference,preferred_data_access,address_array_aux,moved_pc_relative_candidate,data_object_conflict,symbolic_operand_attribute,symbolic_expr_attribute,moved_data_label,block_needs_merging,main_function,labeled_data_candidate,+disconnected1,inferred_special_symbol,relative_jump_table_entry,data_access_limit,data_object_candidate,symbolic_expr_symbol_minus_symbol,next_address_in_data,code_pointer_in_data,inferred_main_function,+disconnected2,refined_block,boundary_sym_expr,function_inference.function_entry,inferred_symbol,symbolic_operand,data_object,subsequent_string_candidate,symbol_minus_symbol,data_object_total_points,data_limit_after_access,address_array,after_address_in_data,moved_displacement_candidate
- split_block(block:address)
Uses:
blockRecursive:
symbolic_expr,best_symexpr_symbol,symbol_minus_symbol_from_relocation,inferred_symbol_mips,labeled_ea,moved_label_candidate,jump_table,code_in_refined_block,symbol_score,moved_label,+disconnected4,best_func_symbol,symbolic_data,data_limit,string_candidate_refined,+disconnected6,label_conflict,data_object_point,resolved_transfer,split_block,value_reg_address_before,string_candidate,discarded_jump_table_entry,symbol_minus_symbol_candidate,discarded_data_object,code_in_split_block,symbolic_operand_point,block_needs_splitting_at,next_data_limit,got_reference,preferred_data_access,address_array_aux,moved_pc_relative_candidate,data_object_conflict,symbolic_operand_attribute,symbolic_expr_attribute,moved_data_label,block_needs_merging,main_function,labeled_data_candidate,+disconnected1,inferred_special_symbol,relative_jump_table_entry,data_access_limit,data_object_candidate,symbolic_expr_symbol_minus_symbol,next_address_in_data,code_pointer_in_data,inferred_main_function,+disconnected2,refined_block,boundary_sym_expr,function_inference.function_entry,inferred_symbol,symbolic_operand,data_object,subsequent_string_candidate,symbol_minus_symbol,data_object_total_points,data_limit_after_access,address_array,after_address_in_data,moved_displacement_candidate
- block_needs_merging(block:address)
Uses:
code_in_block,defined_symbol,dynamic_entry,entry_point,fde_addresses,function_symbol,instruction_has_loop_prefix,loaded_section,must_fallthroughRecursive:
symbolic_expr,best_symexpr_symbol,symbol_minus_symbol_from_relocation,inferred_symbol_mips,labeled_ea,moved_label_candidate,jump_table,code_in_refined_block,symbol_score,moved_label,+disconnected4,best_func_symbol,symbolic_data,data_limit,string_candidate_refined,+disconnected6,label_conflict,data_object_point,resolved_transfer,split_block,value_reg_address_before,string_candidate,discarded_jump_table_entry,symbol_minus_symbol_candidate,discarded_data_object,code_in_split_block,symbolic_operand_point,block_needs_splitting_at,next_data_limit,got_reference,preferred_data_access,address_array_aux,moved_pc_relative_candidate,data_object_conflict,symbolic_operand_attribute,symbolic_expr_attribute,moved_data_label,block_needs_merging,main_function,labeled_data_candidate,+disconnected1,inferred_special_symbol,relative_jump_table_entry,data_access_limit,data_object_candidate,symbolic_expr_symbol_minus_symbol,next_address_in_data,code_pointer_in_data,inferred_main_function,+disconnected2,refined_block,boundary_sym_expr,function_inference.function_entry,inferred_symbol,symbolic_operand,data_object,subsequent_string_candidate,symbol_minus_symbol,data_object_total_points,data_limit_after_access,address_array,after_address_in_data,moved_displacement_candidate
- next_refined_block_in_byte_interval(Block:address, NextBlock:address)
Blocks are either contiguous or separated by data segments This assumes there are no remaining overlapping blocks. This is similar to next_block_in_byte_interval, but this uses the refined block information (i.e., block_information).
Uses:
block_information,data_in_codeUsed by:
function_inference.in_function
- padding(EA:address, Size:unsigned)
Uses:
after_end,block_information,is_padding,next,nop_block
- block_has_non_nop(Block:address)
Uses:
arch.is_nop,code_in_refined_blockUsed by:
nop_block
- nop_block(Block:address)
Uses:
block_has_non_nop,refined_block
- padding_prefix(EA:address, Block:address)
Uses:
arch.is_nop,code_in_block,nextUsed by:
padding_prefix_endRecursive:
padding_prefix
- padding_prefix_end(EA:address, Block:address)
Uses:
arch.is_nop,code_in_block,next,padding_prefixUsed by:
block_needs_splitting_at