• Home
  • Raw
  • Download

Lines Matching refs:glob_sym

78 struct glob_sym {  struct
152 struct glob_sym *glob_syms;
1250 static struct glob_sym *find_glob_sym(struct bpf_linker *linker, const char *sym_name) in find_glob_sym()
1252 struct glob_sym *glob_sym; in find_glob_sym() local
1257 glob_sym = &linker->glob_syms[i]; in find_glob_sym()
1258 name = strset__data(linker->strtab_strs) + glob_sym->name_off; in find_glob_sym()
1261 return glob_sym; in find_glob_sym()
1267 static struct glob_sym *add_glob_sym(struct bpf_linker *linker) in add_glob_sym()
1269 struct glob_sym *syms, *sym; in add_glob_sym()
1569 struct bpf_linker *linker, struct glob_sym *glob_sym, in glob_map_defs_match() argument
1591 t = btf__type_by_id(linker->btf, glob_sym->btf_id); in glob_map_defs_match()
1609 struct bpf_linker *linker, struct glob_sym *glob_sym, in glob_syms_match() argument
1617 if (!glob_sym->btf_id || !btf_id) { in glob_syms_match()
1630 if (glob_sym->sec_id && strcmp(linker->secs[glob_sym->sec_id].sec_name, MAPS_ELF_SEC) == 0) in glob_syms_match()
1631 return glob_map_defs_match(sym_name, linker, glob_sym, obj, sym, btf_id); in glob_syms_match()
1634 linker->btf, glob_sym->btf_id, obj->btf, btf_id)) in glob_syms_match()
1804 struct glob_sym *glob_sym = NULL; in linker_append_elf_sym() local
1865 glob_sym = find_glob_sym(linker, sym_name); in linker_append_elf_sym()
1866 if (glob_sym) { in linker_append_elf_sym()
1871 obj->sym_map[src_sym_idx] = glob_sym->sym_idx; in linker_append_elf_sym()
1877 if (!sym_is_extern && !glob_sym->is_extern in linker_append_elf_sym()
1878 && !glob_sym->is_weak && sym_bind != STB_WEAK) { in linker_append_elf_sym()
1884 if (!glob_syms_match(sym_name, linker, glob_sym, obj, sym, src_sym_idx, btf_id)) in linker_append_elf_sym()
1887 dst_sym = get_sym_by_idx(linker, glob_sym->sym_idx); in linker_append_elf_sym()
1899 glob_sym->is_weak = false; in linker_append_elf_sym()
1924 if (!glob_sym->is_extern && sym_bind == STB_WEAK) in linker_append_elf_sym()
1937 glob_sym->sec_id = dst_sec->id; in linker_append_elf_sym()
1938 glob_sym->is_extern = false; in linker_append_elf_sym()
1940 if (complete_extern_btf_info(linker->btf, glob_sym->btf_id, in linker_append_elf_sym()
1945 glob_sym->underlying_btf_id = 0; in linker_append_elf_sym()
1947 obj->sym_map[src_sym_idx] = glob_sym->sym_idx; in linker_append_elf_sym()
1975 glob_sym = add_glob_sym(linker); in linker_append_elf_sym()
1976 if (!glob_sym) in linker_append_elf_sym()
1979 glob_sym->sym_idx = dst_sym_idx; in linker_append_elf_sym()
1986 glob_sym->sec_id = dst_sec ? dst_sec->id : 0; in linker_append_elf_sym()
1987 glob_sym->name_off = name_off; in linker_append_elf_sym()
1989 glob_sym->btf_id = 0; in linker_append_elf_sym()
1990 glob_sym->is_extern = sym_is_extern; in linker_append_elf_sym()
1991 glob_sym->is_weak = sym_bind == STB_WEAK; in linker_append_elf_sym()
2246 struct glob_sym *glob_sym = NULL; in linker_append_btf() local
2257 glob_sym = find_glob_sym(linker, name); in linker_append_btf()
2263 if (!glob_sym) in linker_append_btf()
2270 if (glob_sym->underlying_btf_id == 0) in linker_append_btf()
2271 glob_sym->underlying_btf_id = -t->type; in linker_append_btf()
2277 if (glob_sym->btf_id) { in linker_append_btf()
2279 obj->btf_type_map[i] = glob_sym->btf_id; in linker_append_btf()
2293 if (glob_sym) { in linker_append_btf()
2294 glob_sym->btf_id = id; in linker_append_btf()
2295 glob_sym->underlying_btf_id = -t->type; in linker_append_btf()
2312 struct glob_sym *glob_sym = &linker->glob_syms[i]; in linker_append_btf() local
2315 if (glob_sym->underlying_btf_id >= 0) in linker_append_btf()
2318 glob_sym->underlying_btf_id = obj->btf_type_map[-glob_sym->underlying_btf_id]; in linker_append_btf()
2320 glob_t = btf_type_by_id(linker->btf, glob_sym->btf_id); in linker_append_btf()
2321 glob_t->type = glob_sym->underlying_btf_id; in linker_append_btf()
2352 struct glob_sym *glob_sym = NULL; in linker_append_btf() local
2357 glob_sym = find_glob_sym(linker, name); in linker_append_btf()
2358 if (glob_sym->sec_id != dst_sec->id) { in linker_append_btf()
2360 name, glob_sym->sec_id, dst_sec->id); in linker_append_btf()
2370 if (glob_sym && glob_sym->var_idx >= 0) { in linker_append_btf()
2373 dst_var = &dst_sec->sec_vars[glob_sym->var_idx]; in linker_append_btf()
2378 sz = btf__resolve_size(linker->btf, glob_sym->underlying_btf_id); in linker_append_btf()
2402 if (glob_sym) in linker_append_btf()
2403 glob_sym->var_idx = dst_sec->sec_var_cnt - 1; in linker_append_btf()