Lines Matching defs:sym
96 #define sym_for_each_insn(file, sym, insn) \
97 for (insn = find_insn(file, sym->sec, sym->offset); \
99 insn->sec == sym->sec && \
100 insn->offset < sym->offset + sym->len; \
103 #define sym_for_each_insn_continue_reverse(file, sym, insn) \
106 insn->sec == sym->sec && insn->offset >= sym->offset; \
464 if (reloc->sym->type != STT_SECTION) {
468 insn = find_insn(file, reloc->sym->sec, reloc->addend);
471 else if (reloc->addend == reloc->sym->sec->len) {
472 insn = find_last_insn(file, reloc->sym->sec);
475 reloc->sym->sec->name, reloc->addend);
480 reloc->sym->sec->name, reloc->addend);
499 if (reloc->sym->type != STT_SECTION) {
503 insn = find_insn(file, reloc->sym->sec, reloc->addend);
506 else if (reloc->addend == reloc->sym->sec->len) {
507 insn = find_last_insn(file, reloc->sym->sec);
510 reloc->sym->sec->name, reloc->addend);
515 reloc->sym->sec->name, reloc->addend);
722 switch (reloc->sym->type) {
724 func = reloc->sym;
728 func = find_func_by_offset(reloc->sym->sec, reloc->addend);
734 WARN("unexpected relocation symbol type in %s: %d", sec->name, reloc->sym->type);
932 if (reloc->sym->type != STT_SECTION) {
937 insn = find_insn(file, reloc->sym->sec, reloc->addend);
953 __weak bool arch_is_retpoline(struct symbol *sym)
962 __weak bool arch_is_rethunk(struct symbol *sym)
971 __weak bool arch_is_embedded_insn(struct symbol *sym)
1009 struct symbol *sym = insn->call_dest;
1011 if (!sym)
1012 sym = reloc->sym;
1023 if (sym->static_call_tramp) {
1028 if (sym->retpoline_thunk) {
1038 if (insn->sec->noinstr && sym->kcov) {
1150 } else if (reloc->sym->type == STT_SECTION) {
1151 dest_sec = reloc->sym->sec;
1153 } else if (reloc->sym->retpoline_thunk) {
1156 } else if (reloc->sym->return_thunk) {
1161 add_call_dest(file, insn, reloc->sym, true);
1163 } else if (reloc->sym->sec->idx) {
1164 dest_sec = reloc->sym->sec;
1165 dest_off = reloc->sym->sym.st_value +
1174 struct symbol *sym = find_symbol_by_offset(dest_sec, dest_off);
1192 if (sym && sym->embedded_insn) {
1286 } else if (reloc->sym->type == STT_SECTION) {
1288 dest = find_call_destination(reloc->sym->sec, dest_off);
1292 reloc->sym->sec->name,
1299 } else if (reloc->sym->retpoline_thunk) {
1303 add_call_dest(file, insn, reloc->sym, false);
1576 if (reloc->sym->sec == pfunc->sec &&
1580 dest_insn = find_insn(file, reloc->sym->sec, reloc->addend);
1641 dest_insn = find_insn(file, table_reloc->sym->sec, table_reloc->addend);
1780 insn = find_insn(file, reloc->sym->sec, reloc->addend);
1800 struct symbol *sym = find_symbol_by_offset(insn->sec, insn->offset);
1802 if (sym && sym->bind == STB_GLOBAL) {
1847 if (reloc->sym->type != STT_SECTION) {
1852 insn = find_insn(file, reloc->sym->sec, reloc->addend);
1884 if (reloc->sym->type != STT_SECTION) {
1889 insn = find_insn(file, reloc->sym->sec, reloc->addend);
1903 if (reloc->sym->type != STT_SECTION) {
1908 insn = find_insn(file, reloc->sym->sec, reloc->addend);
1933 if (reloc->sym->type != STT_SECTION) {
1939 insn = find_insn(file, reloc->sym->sec, reloc->addend);
3405 struct symbol *sym, struct insn_state *state)
3410 if (!sym->len) {
3411 WARN("%s() is missing an ELF size annotation", sym->name);
3415 if (sym->pfunc != sym || sym->alias != sym)
3418 insn = find_insn(file, sec, sym->offset);
3422 state->uaccess = sym->uaccess_safe;
3426 BT_FUNC("<=== (sym)", insn);