/third_party/libbpf/src/ |
H A 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 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 D | relo_core.c | 264 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 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 | 3889 /* Only do relo for section with exec instructions */ 3894 pr_info("elf: skipping relo section(%d) %s for section(%d) %s\n", 3898 pr_info("elf: skipping relo section(%d) %s for section(%d) %s\n", 4446 pr_warn("prog '%s': invalid relo against '%s' for insns[%d].code 0x%x\n", 4462 pr_warn("prog '%s': extern relo failed to find extern for '%s' (%d)\n", 4490 pr_warn("prog '%s': bad call relo against '%s' in section '%s'\n", 4495 pr_warn("prog '%s': bad call relo against '%s' at offset %zu\n", 4506 pr_warn("prog '%s': invalid relo against '%s' in special section 0x%x; forgot to initialize global var?..\n", 4517 pr_warn("prog '%s': bad subprog addr relo against '%s' at offset %zu+%d\n", 4537 pr_warn("prog '%s': bad map relo agains 6111 struct reloc_desc *relos, *relo; global() local 6128 struct reloc_desc *relo; global() local 6142 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) global() argument 6371 struct reloc_desc *relo = &prog->reloc_desc[i]; global() local 6604 const struct reloc_desc *relo = elem; global() local 6686 struct reloc_desc *relo; global() local 6964 struct reloc_desc *relo = &prog->reloc_desc[j]; global() local 7561 const struct bpf_core_relo *relo; global() local 7708 struct reloc_desc *relo = &prog->reloc_desc[i]; global() local [all...] |
H A D | linker.c | 840 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...] |