arch/arm32_symbolization

ARM32 architecture-specific rules for symbolization

cinf_ldr_add_pc(EA_ldr:address, Size:unsigned, Reg1:register, LitPoolAddr:address, EA_add_pc:address, Reg2:register)

ldr Reg1, .L0 add add Reg2, Reg1, pc

Uses def_used

cinf_symbol_minus_symbol_candidate_arm(EA:address, Size:unsigned, Symbol1:address, Symbol2:address, Scale:unsigned, Offset:number)

symbol_minus_symbol_litpool_access_pattern(EA:address, Size:unsigned, Symbol1:address, Symbol2:address, Scale:unsigned, EA_litpool_ref:address, EA_def:address, Reg:register, Type:symbol)

Matches instruction patterns that access a symbol-symbol from the literal pool.

(Symbol2-Symbol1)*Scale

EA: The address of the literal pool with the symbol_minus_symbol expression Size: The size of the symbolic expression EA_litpool_ref: The EA referencing the literal pool (EA) EA_def: The address associated with Symbol1 Reg: The register containing Symbol2 Type: Either “LDR” or “AddPC”

litpool_symbolic_operand(ea_litpool:address, data_access_size:unsigned, symbol1:address, symbol2:address, ea_def:address, reg_def:register, sym2_size:unsigned)

litpool_symbolic_operand

PC-relative symbolic operand

inferred_arch_info(Key:symbol, Value:symbol)

ArchInfo auxdata inferred by the presence of specific instructions or patterns.

  • Uses: +disconnected1, +disconnected2, +disconnected3, +disconnected4, +disconnected5, arch_info