/linux-5.19.10/tools/lib/bpf/ |
D | relo_core.c | 182 const struct bpf_core_relo *relo, in bpf_core_parse_spec() argument 192 spec_str = btf__name_by_offset(btf, relo->access_str_off); in bpf_core_parse_spec() 198 spec->root_type_id = relo->type_id; in bpf_core_parse_spec() 199 spec->relo_kind = relo->kind; in bpf_core_parse_spec() 202 if (core_relo_is_type_based(relo->kind)) { in bpf_core_parse_spec() 223 t = skip_mods_and_typedefs(btf, relo->type_id, &id); in bpf_core_parse_spec() 233 if (core_relo_is_enumval_based(relo->kind)) { in bpf_core_parse_spec() 242 if (!core_relo_is_field_based(relo->kind)) in bpf_core_parse_spec() 303 prog_name, relo->type_id, spec_str, i, id, btf_kind_str(t)); in bpf_core_parse_spec() 584 const struct bpf_core_relo *relo, in bpf_core_calc_field_relo() argument [all …]
|
D | gen_loader.c | 565 struct ksym_relo_desc *relo; in bpf_gen__record_extern() local 567 relo = libbpf_reallocarray(gen->relos, gen->relo_cnt + 1, sizeof(*relo)); in bpf_gen__record_extern() 568 if (!relo) { in bpf_gen__record_extern() 572 gen->relos = relo; in bpf_gen__record_extern() 573 relo += gen->relo_cnt; in bpf_gen__record_extern() 574 relo->name = name; in bpf_gen__record_extern() 575 relo->is_weak = is_weak; in bpf_gen__record_extern() 576 relo->is_typeless = is_typeless; in bpf_gen__record_extern() 577 relo->kind = kind; in bpf_gen__record_extern() 578 relo->insn_idx = insn_idx; in bpf_gen__record_extern() [all …]
|
D | relo_core.h | 77 const struct bpf_core_relo *relo, int relo_idx, 84 int insn_idx, const struct bpf_core_relo *relo, 88 const struct bpf_core_relo *relo,
|
D | libbpf.c | 5661 struct reloc_desc *relos, *relo; in record_relo_core() local 5667 relo = &relos[prog->nr_reloc]; in record_relo_core() 5668 relo->type = RELO_CORE; in record_relo_core() 5669 relo->insn_idx = insn_idx; in record_relo_core() 5670 relo->core_relo = core_relo; in record_relo_core() 5678 struct reloc_desc *relo; in find_relo_core() local 5682 relo = &prog->reloc_desc[i]; in find_relo_core() 5683 if (relo->type != RELO_CORE || relo->insn_idx != insn_idx) in find_relo_core() 5686 return relo->core_relo; in find_relo_core() 5693 const struct bpf_core_relo *relo, in bpf_core_resolve_relo() argument [all …]
|
D | linker.c | 840 Elf64_Rel *relo; in linker_sanity_check_elf_relos() local 884 relo = sec->data->d_buf; in linker_sanity_check_elf_relos() 886 for (i = 0; i < n; i++, relo++) { in linker_sanity_check_elf_relos() 887 size_t sym_idx = ELF64_R_SYM(relo->r_info); in linker_sanity_check_elf_relos() 888 size_t sym_type = ELF64_R_TYPE(relo->r_info); in linker_sanity_check_elf_relos() 904 if (relo->r_offset % sizeof(struct bpf_insn) != 0) { in linker_sanity_check_elf_relos()
|
/linux-5.19.10/tools/bpf/bpftool/ |
D | gen.c | 1935 const struct bpf_core_relo *relo; in btfgen_record_obj() local 1972 for_each_btf_ext_rec(seg, sec, relo_idx, relo) { in btfgen_record_obj() 1976 const void *type_key = u32_as_hash_key(relo->type_id); in btfgen_record_obj() 1979 if (relo->kind != BPF_CORE_TYPE_ID_LOCAL && in btfgen_record_obj() 1981 cands = btfgen_find_cands(btf, info->src_btf, relo->type_id); in btfgen_record_obj() 1992 err = bpf_core_calc_relo_insn(sec_name, relo, relo_idx, btf, cands, in btfgen_record_obj()
|
/linux-5.19.10/arch/arc/kernel/ |
D | entry.S | 299 j @schedule ; BTST+Bnz causes relo error in link
|
/linux-5.19.10/tools/testing/selftests/bpf/ |
D | README.rst | 248 libbpf: ELF relo #0 in section #6 has unexpected type 2 in .../bpf_tcp_nogpl.o
|
/linux-5.19.10/drivers/net/ethernet/netronome/nfp/bpf/ |
D | jit.c | 163 enum nfp_relo_type relo) in emit_br_relo() argument 176 FIELD_PREP(OP_RELO_TYPE, relo); in emit_br_relo() 209 u8 defer, bool set, enum nfp_relo_type relo) in emit_br_bit_relo() argument 230 FIELD_PREP(OP_RELO_TYPE, relo); in emit_br_bit_relo() 634 enum nfp_relo_type relo) in wrp_immed_relo() argument 644 FIELD_PREP(OP_RELO_TYPE, relo); in wrp_immed_relo()
|
/linux-5.19.10/kernel/bpf/ |
D | btf.c | 7733 int bpf_core_apply(struct bpf_core_ctx *ctx, const struct bpf_core_relo *relo, in bpf_core_apply() argument 7736 bool need_cands = relo->kind != BPF_CORE_TYPE_ID_LOCAL; in bpf_core_apply() 7754 cc = bpf_core_find_cands(ctx, relo->type_id); in bpf_core_apply() 7757 relo->type_id); in bpf_core_apply() 7783 err = bpf_core_calc_relo_insn((void *)ctx->log, relo, relo_idx, ctx->btf, &cands, specs, in bpf_core_apply() 7788 err = bpf_core_patch_insn((void *)ctx->log, insn, relo->insn_off / 8, relo, relo_idx, in bpf_core_apply()
|
/linux-5.19.10/include/linux/ |
D | bpf.h | 1832 int bpf_core_apply(struct bpf_core_ctx *ctx, const struct bpf_core_relo *relo,
|