• Home
  • Raw
  • Download

Lines Matching refs:offset

38 			      struct section *sec, unsigned long offset)  in find_insn()  argument
42 hash_for_each_possible(file->insn_hash, insn, hash, sec_offset_hash(sec, offset)) { in find_insn()
43 if (insn->sec == sec && insn->offset == offset) in find_insn()
78 return find_insn(file, func->cfunc->sec, func->cfunc->offset); in next_insn_same_func()
93 for (insn = find_insn(file, func->sec, func->offset); \
98 for (insn = find_insn(file, sym->sec, sym->offset); \
101 insn->offset < sym->offset + sym->len; \
107 insn->sec == sym->sec && insn->offset >= sym->offset; \
201 insn = find_insn(file, func->sec, func->offset); in __dead_end_function()
357 unsigned long offset; in decode_instructions() local
376 for (offset = 0; offset < sec->sh.sh_size; offset += insn->len) { in decode_instructions()
387 insn->offset = offset; in decode_instructions()
389 ret = arch_decode_instruction(file->elf, sec, offset, in decode_instructions()
390 sec->sh.sh_size - offset, in decode_instructions()
397 hash_add(file->insn_hash, &insn->hash, sec_offset_hash(sec, insn->offset)); in decode_instructions()
406 if (!find_insn(file, sec, func->offset)) { in decode_instructions()
431 unsigned int offset; in find_last_insn() local
434 for (offset = sec->sh.sh_size - 1; offset >= end && !insn; offset--) in find_last_insn()
435 insn = find_insn(file, sec, offset); in find_last_insn()
564 insn->sec, insn->offset)) in create_static_call_sections()
651 insn->sec, insn->offset)) { in create_retpoline_sites_sections()
697 insn->sec, insn->offset)) { in create_return_sites_sections()
742 insn->sec, insn->offset)) in create_mcount_loc_sections()
1029 insn->offset, insn->len); in insn_reloc()
1089 insn->offset, insn->len, in annotate_call_site()
1110 WARN_FUNC("Tail call to __fentry__ !?!?", insn->sec, insn->offset); in annotate_call_site()
1118 insn->offset, insn->len, in annotate_call_site()
1261 insn->sec, insn->offset, dest_sec->name, in add_jump_destinations()
1293 insn->jump_dest->offset == insn->jump_dest->func->offset) { in add_jump_destinations()
1303 static struct symbol *find_call_destination(struct section *sec, unsigned long offset) in find_call_destination() argument
1307 call_dest = find_func_by_offset(sec, offset); in find_call_destination()
1309 call_dest = find_symbol_by_offset(sec, offset); in find_call_destination()
1339 WARN_FUNC("unannotated intra-function call", insn->sec, insn->offset); in add_call_destinations()
1345 insn->sec, insn->offset); in add_call_destinations()
1354 insn->sec, insn->offset, in add_call_destinations()
1401 if (insn->offset >= special_alt->orig_off + special_alt->orig_len) in handle_group_alt()
1436 nop->offset = special_alt->new_off + special_alt->new_len; in handle_group_alt()
1453 if (insn->offset >= special_alt->new_off + special_alt->new_len) in handle_group_alt()
1475 insn->sec, insn->offset); in handle_group_alt()
1491 insn->sec, insn->offset); in handle_group_alt()
1526 orig_insn->sec, orig_insn->offset); in handle_jump_alt()
1538 orig_insn->offset, orig_insn->len, in handle_jump_alt()
1606 orig_insn->sec, orig_insn->offset); in add_special_section_alts()
1667 if (prev_offset && reloc->offset != prev_offset + 8) in add_jump_table()
1672 reloc->addend == pfunc->offset) in add_jump_table()
1691 prev_offset = reloc->offset; in add_jump_table()
1696 insn->sec, insn->offset); in add_jump_table()
1729 (insn->jump_dest->offset <= insn->offset || in find_jump_table()
1730 insn->jump_dest->offset > orig_insn->offset)) in find_jump_table()
1766 insn->offset > last->offset && in mark_func_jump_tables()
1767 insn->jump_dest->offset > insn->offset && in mark_func_jump_tables()
1837 state->stack_size = initial_func_cfi.cfa.offset; in set_func_state()
1895 struct symbol *sym = find_symbol_by_offset(insn->sec, insn->offset); in read_unwind_hints()
1917 insn->sec, insn->offset, hint->sp_reg); in read_unwind_hints()
1921 cfi.cfa.offset = bswap_if_needed(hint->sp_offset); in read_unwind_hints()
1958 insn->sec, insn->offset); in read_retpoline_hints()
2042 insn->sec, insn->offset); in read_intra_function_calls()
2053 dest_off = insn->offset + insn->len + insn->immediate; in read_intra_function_calls()
2057 insn->sec, insn->offset, in read_intra_function_calls()
2220 if (cfi->cfa.offset != initial_func_cfi.cfa.offset) in has_modified_stack_frame()
2223 if (cfi->stack_size != initial_func_cfi.cfa.offset) in has_modified_stack_frame()
2228 cfi->regs[i].offset != initial_func_cfi.regs[i].offset) in has_modified_stack_frame()
2239 reg->offset == expected_offset; in check_reg_frame_pos()
2247 check_reg_frame_pos(&cfi->regs[CFI_BP], -cfi->cfa.offset) && in has_valid_stack_frame()
2248 check_reg_frame_pos(&cfi->regs[CFI_RA], -cfi->cfa.offset + 8)) in has_valid_stack_frame()
2268 cfa->offset += 8; in update_cfi_state_regs()
2272 cfa->offset -= 8; in update_cfi_state_regs()
2277 cfa->offset -= op->src.offset; in update_cfi_state_regs()
2282 static void save_reg(struct cfi_state *cfi, unsigned char reg, int base, int offset) in save_reg() argument
2287 cfi->regs[reg].offset = offset; in save_reg()
2294 cfi->regs[reg].offset = initial_func_cfi.regs[reg].offset; in restore_reg()
2360 WARN_FUNC("undefined stack state", insn->sec, insn->offset); in update_cfi_state()
2378 check_reg_frame_pos(&regs[CFI_BP], -cfa->offset)) { in update_cfi_state()
2390 regs[CFI_BP].offset = -cfi->stack_size; in update_cfi_state()
2407 cfi->vals[op->dest.reg].offset = -cfi->stack_size; in update_cfi_state()
2418 cfi->stack_size = -cfi->regs[CFI_BP].offset; in update_cfi_state()
2435 cfa->offset = -cfi->vals[op->src.reg].offset; in update_cfi_state()
2436 cfi->stack_size = cfa->offset; in update_cfi_state()
2440 cfi->vals[op->src.reg].offset == cfa->offset) { in update_cfi_state()
2472 cfa->offset = 0; in update_cfi_state()
2478 cfi->vals[op->src.reg].offset == cfa->offset) { in update_cfi_state()
2496 cfi->stack_size -= op->src.offset; in update_cfi_state()
2498 cfa->offset -= op->src.offset; in update_cfi_state()
2505 cfi->stack_size = -(op->src.offset + regs[CFI_BP].offset); in update_cfi_state()
2525 cfi->vals[op->dest.reg].offset = \ in update_cfi_state()
2526 -cfi->stack_size + op->src.offset; in update_cfi_state()
2536 cfa->offset = cfi->stack_size = -op->src.offset; in update_cfi_state()
2544 insn->sec, insn->offset); in update_cfi_state()
2555 insn->sec, insn->offset); in update_cfi_state()
2562 cfa->offset = cfi->stack_size = 0; in update_cfi_state()
2594 cfa->offset = 0; in update_cfi_state()
2597 } else if (cfi->stack_size == -regs[op->dest.reg].offset) { in update_cfi_state()
2605 cfa->offset -= 8; in update_cfi_state()
2615 cfa->offset = cfi->stack_size; in update_cfi_state()
2619 op->src.offset == cfi->drap_offset) { in update_cfi_state()
2623 cfa->offset = 0; in update_cfi_state()
2628 op->src.offset == regs[op->dest.reg].offset) { in update_cfi_state()
2634 op->src.offset == regs[op->dest.reg].offset + cfa->offset) { in update_cfi_state()
2641 op->src.offset == regs[op->dest.reg].offset + cfi->stack_size) { in update_cfi_state()
2651 insn->sec, insn->offset); in update_cfi_state()
2661 cfa->offset += 8; in update_cfi_state()
2671 cfa->offset = -cfi->stack_size; in update_cfi_state()
2706 cfa->offset = op->dest.offset; in update_cfi_state()
2709 cfi->drap_offset = op->dest.offset; in update_cfi_state()
2713 save_reg(cfi, op->src.reg, CFI_BP, op->dest.offset); in update_cfi_state()
2721 op->dest.offset - cfi->cfa.offset); in update_cfi_state()
2727 op->dest.offset - cfi->stack_size); in update_cfi_state()
2729 } else if (op->src.reg == CFI_SP && op->dest.offset == 0) { in update_cfi_state()
2733 cfi->vals[op->dest.reg].offset = cfa->offset; in update_cfi_state()
2741 insn->sec, insn->offset); in update_cfi_state()
2748 cfa->offset -= 8; in update_cfi_state()
2754 insn->sec, insn->offset); in update_cfi_state()
2784 group_off = insn->offset - insn->alt_group->first_insn->offset; in propagate_alt_cfi()
2791 insn->sec, insn->offset); in propagate_alt_cfi()
2818 insn->sec, insn->offset); in handle_insn_ops()
2851 insn->sec, insn->offset, in insn_cfi_match()
2852 cfi1->cfa.base, cfi1->cfa.offset, in insn_cfi_match()
2853 cfi2->cfa.base, cfi2->cfa.offset); in insn_cfi_match()
2862 insn->sec, insn->offset, in insn_cfi_match()
2863 i, cfi1->regs[i].base, cfi1->regs[i].offset, in insn_cfi_match()
2864 i, cfi2->regs[i].base, cfi2->regs[i].offset); in insn_cfi_match()
2871 insn->sec, insn->offset, cfi1->type, cfi2->type); in insn_cfi_match()
2878 insn->sec, insn->offset, in insn_cfi_match()
2935 insn->sec, insn->offset, call_dest_name(insn)); in validate_call()
2941 insn->sec, insn->offset, call_dest_name(insn)); in validate_call()
2947 insn->sec, insn->offset, call_dest_name(insn)); in validate_call()
2958 insn->sec, insn->offset); in validate_sibling_call()
2969 insn->sec, insn->offset); in validate_return()
2975 insn->sec, insn->offset); in validate_return()
2981 insn->sec, insn->offset); in validate_return()
2987 insn->sec, insn->offset); in validate_return()
2993 insn->sec, insn->offset); in validate_return()
2999 insn->sec, insn->offset); in validate_return()
3050 sec, insn->offset); in validate_branch()
3084 sec, insn->offset); in validate_branch()
3090 sec, insn->offset); in validate_branch()
3143 insn->sec, insn->offset); in validate_branch()
3156 sec, insn->offset); in validate_branch()
3191 insn->sec, insn->offset); in validate_branch()
3210 sec, insn->offset); in validate_branch()
3217 WARN_FUNC("recursive UACCESS enable", sec, insn->offset); in validate_branch()
3226 WARN_FUNC("redundant UACCESS disable", sec, insn->offset); in validate_branch()
3231 WARN_FUNC("UACCESS-safe disables UACCESS", sec, insn->offset); in validate_branch()
3240 WARN_FUNC("recursive STD", sec, insn->offset); in validate_branch()
3249 WARN_FUNC("redundant CLD", sec, insn->offset); in validate_branch()
3354 WARN_FUNC("early indirect call", insn->sec, insn->offset); in validate_entry()
3362 insn->sec, insn->offset); in validate_entry()
3383 insn->call_dest->offset); in validate_entry()
3403 WARN_FUNC("RET before UNTRAIN", insn->sec, insn->offset); in validate_entry()
3416 WARN_FUNC("teh end!", insn->sec, insn->offset); in validate_entry()
3440 WARN_FUNC("Failed UNRET validation", insn->sec, insn->offset); in validate_unret()
3475 insn->sec, insn->offset); in validate_retpoline()
3480 insn->sec, insn->offset, in validate_retpoline()
3562 if (insn->offset + insn->len >= insn->func->offset + insn->func->len) in ignore_unreachable_insn()
3585 insn = find_insn(file, sec, sym->offset); in validate_symbol()
3662 WARN_FUNC("unreachable instruction", insn->sec, insn->offset); in validate_reachable_instructions()