| /linux/tools/lib/bpf/ |
| H A D | gen_loader.c | 677 struct ksym_relo_desc *relo; in get_ksym_desc() 679 relo = libbpf_reallocarray(gen->relos, gen->relo_cnt + 1, sizeof(*relo)); in get_ksym_desc() 680 if (!relo) { in get_ksym_desc() 684 gen->relos = relo; in get_ksym_desc() 685 relo += gen->relo_cnt; in get_ksym_desc() 686 relo->name = name; in get_ksym_desc() 687 relo->is_weak = is_weak; in get_ksym_desc() 688 relo->is_typeless = is_typeless; in get_ksym_desc() 689 relo in get_ksym_desc() 644 struct ksym_relo_desc *relo; bpf_gen__record_extern() local 663 get_ksym_desc(struct bpf_gen * gen,struct ksym_relo_desc * relo) get_ksym_desc() argument 695 emit_bpf_find_by_name_kind(struct bpf_gen * gen,struct ksym_relo_desc * relo) emit_bpf_find_by_name_kind() argument 714 emit_bpf_kallsyms_lookup_name(struct bpf_gen * gen,struct ksym_relo_desc * relo) emit_bpf_kallsyms_lookup_name() argument 743 emit_relo_kfunc_btf(struct bpf_gen * gen,struct ksym_relo_desc * relo,int insn) emit_relo_kfunc_btf() argument 814 emit_ksym_relo_log(struct bpf_gen * gen,struct ksym_relo_desc * relo,int ref) emit_ksym_relo_log() argument 834 emit_relo_ksym_typeless(struct bpf_gen * gen,struct ksym_relo_desc * relo,int insn) emit_relo_ksym_typeless() argument 880 emit_relo_ksym_btf(struct bpf_gen * gen,struct ksym_relo_desc * relo,int insn) emit_relo_ksym_btf() argument 946 emit_relo(struct bpf_gen * gen,struct ksym_relo_desc * relo,int insns) emit_relo() argument [all...] |
| H A D | relo_core.h | 83 const struct bpf_core_relo *relo, int relo_idx, 90 int insn_idx, const struct bpf_core_relo *relo, 94 const struct bpf_core_relo *relo,
|
| H A D | libbpf.c | 4048 /* Only do relo for section with exec instructions */ in sym_is_extern() 4055 pr_info("elf: skipping relo section(%d) %s for section(%d) %s\n", in sym_is_subprog() 4629 pr_warn("prog '%s': invalid relo against '%s' for insns[%d].code 0x%x\n", in bpf_program__record_reloc() 4645 pr_warn("prog '%s': extern relo failed to find extern for '%s' (%d)\n", in bpf_program__record_reloc() 4669 pr_warn("prog '%s': bad call relo against '%s' in section '%s'\n", in bpf_program__record_reloc() 4674 pr_warn("prog '%s': bad call relo against '%s' at offset %zu\n", in bpf_program__record_reloc() 4685 pr_warn("prog '%s': invalid relo against '%s' in special section 0x%x; forgot to initialize global var?..\n", in bpf_program__record_reloc() 4696 pr_warn("prog '%s': bad subprog addr relo against '%s' at offset %zu+%d\n", in bpf_program__record_reloc() 4742 pr_warn("prog '%s': bad map relo against '%s' in section '%s'\n", in bpf_program__record_reloc() 4758 pr_warn("prog '%s': map relo faile in find_prog_by_sec_insn() 5952 struct reloc_desc *relos, *relo; record_relo_core() local 5969 struct reloc_desc *relo; find_relo_core() local 5984 bpf_core_resolve_relo(struct bpf_program * prog,const struct bpf_core_relo * relo,int relo_idx,const struct btf * local_btf,struct hashmap * cand_cache,struct bpf_core_relo_res * targ_res) bpf_core_resolve_relo() argument 6248 create_jt_map(struct bpf_object * obj,struct bpf_program * prog,struct reloc_desc * relo) create_jt_map() argument 6361 struct reloc_desc *relo = &prog->reloc_desc[i]; bpf_object__relocate_data() local 6612 const struct reloc_desc *relo = elem; cmp_relo_by_insn_idx() local 6720 struct reloc_desc *relo; bpf_object__reloc_code() local 7406 struct reloc_desc *relo = &prog->reloc_desc[j]; bpf_object__relocate() local 8027 const struct bpf_core_relo *relo; fixup_log_failed_core_relo() local 8174 struct reloc_desc *relo = &prog->reloc_desc[i]; bpf_program_record_relos() local [all...] |
| H A D | linker.c | 988 Elf64_Rel *relo; in linker_sanity_check_elf_relos() local 1032 relo = sec->data->d_buf; in linker_sanity_check_elf_relos() 1034 for (i = 0; i < n; i++, relo++) { in linker_sanity_check_elf_relos() 1035 size_t sym_idx = ELF64_R_SYM(relo->r_info); in linker_sanity_check_elf_relos() 1036 size_t sym_type = ELF64_R_TYPE(relo->r_info); in linker_sanity_check_elf_relos() 1052 if (relo->r_offset % sizeof(struct bpf_insn) != 0) { in linker_sanity_check_elf_relos()
|
| /linux/Documentation/bpf/ |
| H A D | llvm_reloc.rst | 313 is_signed = relo(s->f, BPF_CORE_FIELD_SIGNED) 314 off = relo(s->f, BPF_CORE_FIELD_BYTE_OFFSET) 315 sz = relo(s->f, BPF_CORE_FIELD_BYTE_SIZE) 316 l = relo(s->f, BPF_CORE_FIELD_LSHIFT_U64) 317 r = relo(s->f, BPF_CORE_FIELD_RSHIFT_U64)
|
| /linux/kernel/bpf/ |
| H A D | btf.c | 9652 int bpf_core_apply(struct bpf_core_ctx *ctx, const struct bpf_core_relo *relo, in btf_type_ids_nocast_alias() 9655 bool need_cands = relo->kind != BPF_CORE_TYPE_ID_LOCAL; in btf_type_ids_nocast_alias() 9669 type = btf_type_by_id(ctx->btf, relo->type_id); in btf_type_ids_nocast_alias() 9671 bpf_log(ctx->log, "relo #%u: bad type id %u\n", in btf_type_ids_nocast_alias() 9672 relo_idx, relo->type_id); in btf_type_ids_nocast_alias() 9682 cc = bpf_core_find_cands(ctx, relo->type_id); in btf_add_struct_ops() 9685 relo->type_id); in btf_add_struct_ops() 9712 err = bpf_core_calc_relo_insn((void *)ctx->log, relo, relo_idx, ctx->btf, &cands, specs, in btf_add_struct_ops() 9717 err = bpf_core_patch_insn((void *)ctx->log, insn, relo->insn_off / 8, relo, relo_id in btf_add_struct_ops() 9495 bpf_core_apply(struct bpf_core_ctx * ctx,const struct bpf_core_relo * relo,int relo_idx,void * insn) bpf_core_apply() argument [all...] |
| /linux/tools/testing/selftests/bpf/ |
| H A D | README.rst | 319 libbpf: ELF relo #0 in section #6 has unexpected type 2 in .../bpf_tcp_nogpl.bpf.o
|
| /linux/include/linux/ |
| H A D | bpf.h | 3193 int bpf_core_apply(struct bpf_core_ctx *ctx, const struct bpf_core_relo *relo, in __dev_flush()
|