Home
last modified time | relevance | path

Searched refs:relo (Results 1 - 12 of 12) sorted by relevance

/kernel/linux/linux-6.6/tools/lib/bpf/
H A Dgen_loader.c565 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 in bpf_gen__record_extern()
584 get_ksym_desc(struct bpf_gen *gen, struct ksym_relo_desc *relo) get_ksym_desc() argument
616 emit_bpf_find_by_name_kind(struct bpf_gen *gen, struct ksym_relo_desc *relo) emit_bpf_find_by_name_kind() argument
635 emit_bpf_kallsyms_lookup_name(struct bpf_gen *gen, struct ksym_relo_desc *relo) emit_bpf_kallsyms_lookup_name() argument
664 emit_relo_kfunc_btf(struct bpf_gen *gen, struct ksym_relo_desc *relo, int insn) emit_relo_kfunc_btf() argument
735 emit_ksym_relo_log(struct bpf_gen *gen, struct ksym_relo_desc *relo, int ref) emit_ksym_relo_log() argument
754 emit_relo_ksym_typeless(struct bpf_gen *gen, struct ksym_relo_desc *relo, int insn) emit_relo_ksym_typeless() argument
801 emit_relo_ksym_btf(struct bpf_gen *gen, struct ksym_relo_desc *relo, int insn) emit_relo_ksym_btf() argument
867 emit_relo(struct bpf_gen *gen, struct ksym_relo_desc *relo, int insns) emit_relo() argument
[all...]
H A Drelo_core.c264 const struct bpf_core_relo *relo, in bpf_core_parse_spec()
274 spec_str = btf__name_by_offset(btf, relo->access_str_off); in bpf_core_parse_spec()
280 spec->root_type_id = relo->type_id; in bpf_core_parse_spec()
281 spec->relo_kind = relo->kind; in bpf_core_parse_spec()
284 if (core_relo_is_type_based(relo->kind)) { in bpf_core_parse_spec()
305 t = skip_mods_and_typedefs(btf, relo->type_id, &id); in bpf_core_parse_spec()
315 if (core_relo_is_enumval_based(relo->kind)) { in bpf_core_parse_spec()
326 if (!core_relo_is_field_based(relo->kind)) in bpf_core_parse_spec()
386 pr_warn("prog '%s': relo for [%u] %s (at idx %d) captures type [%d] of unexpected kind %s\n", in bpf_core_parse_spec()
387 prog_name, relo in bpf_core_parse_spec()
263 bpf_core_parse_spec(const char *prog_name, const struct btf *btf, const struct bpf_core_relo *relo, struct bpf_core_spec *spec) bpf_core_parse_spec() argument
678 bpf_core_calc_field_relo(const char *prog_name, const struct bpf_core_relo *relo, const struct bpf_core_spec *spec, __u64 *val, __u32 *field_sz, __u32 *type_id, bool *validate) bpf_core_calc_field_relo() argument
803 bpf_core_calc_type_relo(const struct bpf_core_relo *relo, const struct bpf_core_spec *spec, __u64 *val, bool *validate) bpf_core_calc_type_relo() argument
847 bpf_core_calc_enumval_relo(const struct bpf_core_relo *relo, const struct bpf_core_spec *spec, __u64 *val) bpf_core_calc_enumval_relo() argument
879 bpf_core_calc_relo(const char *prog_name, const struct bpf_core_relo *relo, int relo_idx, const struct bpf_core_spec *local_spec, const struct bpf_core_spec *targ_spec, struct bpf_core_relo_res *res) bpf_core_calc_relo() argument
1024 bpf_core_patch_insn(const char *prog_name, struct bpf_insn *insn, int insn_idx, const struct bpf_core_relo *relo, int relo_idx, const struct bpf_core_relo_res *res) bpf_core_patch_insn() argument
1280 bpf_core_calc_relo_insn(const char *prog_name, const struct bpf_core_relo *relo, int relo_idx, const struct btf *local_btf, struct bpf_core_cand_list *cands, struct bpf_core_spec *specs_scratch, struct bpf_core_relo_res *targ_res) bpf_core_calc_relo_insn() argument
[all...]
H A Drelo_core.h83 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 Dlibbpf.c3527 /* Only do relo for section with exec instructions */ in bpf_object__elf_collect()
3532 pr_info("elf: skipping relo section(%d) %s for section(%d) %s\n", in bpf_object__elf_collect()
4062 pr_warn("prog '%s': invalid relo against '%s' for insns[%d].code 0x%x\n", in bpf_program__record_reloc()
4078 pr_warn("prog '%s': extern relo failed to find extern for '%s' (%d)\n", in bpf_program__record_reloc()
4102 pr_warn("prog '%s': bad call relo against '%s' in section '%s'\n", in bpf_program__record_reloc()
4107 pr_warn("prog '%s': bad call relo against '%s' at offset %zu\n", in bpf_program__record_reloc()
4118 pr_warn("prog '%s': invalid relo against '%s' in special section 0x%x; forgot to initialize global var?..\n", in bpf_program__record_reloc()
4129 pr_warn("prog '%s': bad subprog addr relo against '%s' at offset %zu+%d\n", in bpf_program__record_reloc()
4146 pr_warn("prog '%s': bad map relo against '%s' in section '%s'\n", in bpf_program__record_reloc()
4162 pr_warn("prog '%s': map relo faile in bpf_program__record_reloc()
5708 struct reloc_desc *relos, *relo; record_relo_core() local
5725 struct reloc_desc *relo; find_relo_core() local
5739 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
5966 struct reloc_desc *relo = &prog->reloc_desc[i]; bpf_object__relocate_data() local
6199 const struct reloc_desc *relo = elem; cmp_relo_by_insn_idx() local
6250 struct reloc_desc *relo; bpf_object__reloc_code() local
6545 struct reloc_desc *relo = &prog->reloc_desc[j]; bpf_object__relocate() local
7118 const struct bpf_core_relo *relo; fixup_log_failed_core_relo() local
7265 struct reloc_desc *relo = &prog->reloc_desc[i]; bpf_program_record_relos() local
[all...]
H A Dlinker.c840 Elf64_Rel *relo; in linker_sanity_check_elf_relos() local
850 pr_warn("ELF relo section #%zu points to invalid SYMTAB section #%zu in %s\n", in linker_sanity_check_elf_relos()
857 pr_warn("ELF relo section #%zu points to missing section #%zu in %s\n", in linker_sanity_check_elf_relos()
866 pr_warn("ELF relo section #%zu name has invalid name in %s\n", in linker_sanity_check_elf_relos()
877 pr_warn("ELF relo section #%zu points to invalid section #%zu in %s\n", in linker_sanity_check_elf_relos()
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()
892 pr_warn("ELF relo # in linker_sanity_check_elf_relos()
[all...]
/kernel/linux/linux-5.10/tools/lib/bpf/
H A Dlibbpf.c2903 /* Only do relo for section with exec instructions */ in bpf_object__elf_collect()
2907 pr_info("elf: skipping relo section(%d) %s for section(%d) %s\n", in bpf_object__elf_collect()
3359 pr_warn("prog '%s': bad call relo against '%s' in section '%s'\n", in bpf_program__record_reloc()
3364 pr_warn("prog '%s': bad call relo against '%s' at offset %zu\n", in bpf_program__record_reloc()
3375 pr_warn("prog '%s': invalid relo against '%s' for insns[%d].code 0x%x\n", in bpf_program__record_reloc()
3391 pr_warn("prog '%s': extern relo failed to find extern for '%s' (%d)\n", in bpf_program__record_reloc()
3404 pr_warn("prog '%s': invalid relo against '%s' in special section 0x%x; forgot to initialize global var?..\n", in bpf_program__record_reloc()
3415 pr_warn("prog '%s': bad map relo against '%s' in section '%s'\n", in bpf_program__record_reloc()
3431 pr_warn("prog '%s': map relo failed to find map for section '%s', off %zu\n", in bpf_program__record_reloc()
3444 pr_warn("prog '%s': bad data relo agains in bpf_program__record_reloc()
5105 bpf_core_calc_field_relo(const struct bpf_program *prog, const struct bpf_core_relo *relo, const struct bpf_core_spec *spec, __u32 *val, __u32 *field_sz, __u32 *type_id, bool *validate) bpf_core_calc_field_relo() argument
5231 bpf_core_calc_type_relo(const struct bpf_core_relo *relo, const struct bpf_core_spec *spec, __u32 *val) bpf_core_calc_type_relo() argument
5265 bpf_core_calc_enumval_relo(const struct bpf_core_relo *relo, const struct bpf_core_spec *spec, __u32 *val) bpf_core_calc_enumval_relo() argument
5321 bpf_core_calc_relo(const struct bpf_program *prog, const struct bpf_core_relo *relo, int relo_idx, const struct bpf_core_spec *local_spec, const struct bpf_core_spec *targ_spec, struct bpf_core_relo_res *res) bpf_core_calc_relo() argument
5471 bpf_core_patch_insn(struct bpf_program *prog, const struct bpf_core_relo *relo, int relo_idx, const struct bpf_core_relo_res *res) bpf_core_patch_insn() argument
5725 bpf_core_apply_relo(struct bpf_program *prog, const struct bpf_core_relo *relo, int relo_idx, const struct btf *local_btf, const struct btf *targ_btf, struct hashmap *cand_cache) bpf_core_apply_relo() argument
6009 struct reloc_desc *relo = &prog->reloc_desc[i]; bpf_object__relocate_data() local
6199 const struct reloc_desc *relo = elem; cmp_relo_by_insn_idx() local
6219 struct reloc_desc *relo; bpf_object__reloc_code() local
[all...]
/kernel/linux/linux-6.6/tools/bpf/bpftool/
H A Dgen.c2044 const struct bpf_core_relo *relo; in btfgen_record_obj() local
2081 for_each_btf_ext_rec(seg, sec, relo_idx, relo) { in btfgen_record_obj()
2087 if (relo->kind != BPF_CORE_TYPE_ID_LOCAL && in btfgen_record_obj()
2088 !hashmap__find(cand_cache, relo->type_id, &cands)) { in btfgen_record_obj()
2089 cands = btfgen_find_cands(btf, info->src_btf, relo->type_id); in btfgen_record_obj()
2095 err = hashmap__set(cand_cache, relo->type_id, cands, in btfgen_record_obj()
2101 err = bpf_core_calc_relo_insn(sec_name, relo, relo_idx, btf, cands, in btfgen_record_obj()
/kernel/linux/linux-5.10/arch/arc/kernel/
H A Dentry.S302 j @schedule ; BTST+Bnz causes relo error in link
/kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/bpf/
H A Djit.c163 enum nfp_relo_type relo) in emit_br_relo()
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()
230 FIELD_PREP(OP_RELO_TYPE, relo); in emit_br_bit_relo()
634 enum nfp_relo_type relo) in wrp_immed_relo()
644 FIELD_PREP(OP_RELO_TYPE, relo); in wrp_immed_relo()
162 emit_br_relo(struct nfp_prog *nfp_prog, enum br_mask mask, u16 addr, u8 defer, enum nfp_relo_type relo) emit_br_relo() argument
208 emit_br_bit_relo(struct nfp_prog *nfp_prog, swreg src, u8 bit, u16 addr, u8 defer, bool set, enum nfp_relo_type relo) emit_br_bit_relo() argument
633 wrp_immed_relo(struct nfp_prog *nfp_prog, swreg dst, u32 imm, enum nfp_relo_type relo) wrp_immed_relo() argument
/kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/bpf/
H A Djit.c163 enum nfp_relo_type relo) in emit_br_relo()
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()
230 FIELD_PREP(OP_RELO_TYPE, relo); in emit_br_bit_relo()
634 enum nfp_relo_type relo) in wrp_immed_relo()
644 FIELD_PREP(OP_RELO_TYPE, relo); in wrp_immed_relo()
162 emit_br_relo(struct nfp_prog *nfp_prog, enum br_mask mask, u16 addr, u8 defer, enum nfp_relo_type relo) emit_br_relo() argument
208 emit_br_bit_relo(struct nfp_prog *nfp_prog, swreg src, u8 bit, u16 addr, u8 defer, bool set, enum nfp_relo_type relo) emit_br_bit_relo() argument
633 wrp_immed_relo(struct nfp_prog *nfp_prog, swreg dst, u32 imm, enum nfp_relo_type relo) wrp_immed_relo() argument
/kernel/linux/linux-6.6/kernel/bpf/
H A Dbtf.c8417 int bpf_core_apply(struct bpf_core_ctx *ctx, const struct bpf_core_relo *relo, in bpf_core_apply() argument
8420 bool need_cands = relo->kind != BPF_CORE_TYPE_ID_LOCAL; in bpf_core_apply()
8438 cc = bpf_core_find_cands(ctx, relo->type_id); in bpf_core_apply()
8441 relo->type_id); in bpf_core_apply()
8467 err = bpf_core_calc_relo_insn((void *)ctx->log, relo, relo_idx, ctx->btf, &cands, specs, in bpf_core_apply()
8472 err = bpf_core_patch_insn((void *)ctx->log, insn, relo->insn_off / 8, relo, relo_idx, in bpf_core_apply()
/kernel/linux/linux-6.6/include/linux/
H A Dbpf.h2458 int bpf_core_apply(struct bpf_core_ctx *ctx, const struct bpf_core_relo *relo,

Completed in 59 milliseconds