• Home
  • Raw
  • Download

Lines Matching refs:id

82 		int	 id;  member
151 struct btf_id *id; in btf_id__find() local
155 id = rb_entry(p, struct btf_id, rb_node); in btf_id__find()
156 cmp = strcmp(id->name, name); in btf_id__find()
162 return id; in btf_id__find()
172 struct btf_id *id; in btf_id__add() local
177 id = rb_entry(parent, struct btf_id, rb_node); in btf_id__add()
178 cmp = strcmp(id->name, name); in btf_id__add()
184 return unique ? NULL : id; in btf_id__add()
187 id = zalloc(sizeof(*id)); in btf_id__add()
188 if (id) { in btf_id__add()
190 id->name = name; in btf_id__add()
191 rb_link_node(&id->rb_node, parent, p); in btf_id__add()
192 rb_insert_color(&id->rb_node, root); in btf_id__add()
194 return id; in btf_id__add()
206 char *p, *id; in get_id() local
211 id = strdup(prefix_end + pos); in get_id()
212 if (id) { in get_id()
219 p = strrchr(id, '_'); in get_id()
222 free(id); in get_id()
227 return id; in get_id()
237 char *id = name + sizeof(BTF_SET "__") - 1; in add_set() local
240 if (id >= name + len) { in add_set()
245 return btf_id__add(&obj->sets, id, true); in add_set()
250 char *id; in add_symbol() local
252 id = get_id(name + size); in add_symbol()
253 if (!id) { in add_symbol()
258 return btf_id__add(root, id, false); in add_symbol()
405 struct btf_id *id; in symbols_collect() local
430 id = add_symbol(&obj->structs, prefix, sizeof(BTF_STRUCT) - 1); in symbols_collect()
434 id = add_symbol(&obj->unions, prefix, sizeof(BTF_UNION) - 1); in symbols_collect()
438 id = add_symbol(&obj->typedefs, prefix, sizeof(BTF_TYPEDEF) - 1); in symbols_collect()
442 id = add_symbol(&obj->funcs, prefix, sizeof(BTF_FUNC) - 1); in symbols_collect()
445 id = add_set(obj, prefix); in symbols_collect()
451 if (id) in symbols_collect()
452 id->cnt = sym.st_size / sizeof(int) - 1; in symbols_collect()
458 if (!id) in symbols_collect()
461 if (id->addr_cnt >= ADDR_CNT) { in symbols_collect()
463 id->name); in symbols_collect()
466 id->addr[id->addr_cnt++] = sym.st_value; in symbols_collect()
499 struct btf_id *id; in symbols_resolve() local
532 id = btf_id__find(root, str); in symbols_resolve()
533 if (id) { in symbols_resolve()
534 id->id = type_id; in symbols_resolve()
545 static int id_patch(struct object *obj, struct btf_id *id) in id_patch() argument
551 if (!id->id) { in id_patch()
552 pr_err("FAILED unresolved symbol %s\n", id->name); in id_patch()
556 for (i = 0; i < id->addr_cnt; i++) { in id_patch()
557 unsigned long addr = id->addr[i]; in id_patch()
561 idx, id->id, id->name); in id_patch()
570 ptr[idx] = id->id; in id_patch()
579 struct btf_id *id; in __symbols_patch() local
583 id = rb_entry(next, struct btf_id, rb_node); in __symbols_patch()
585 if (id_patch(obj, id)) in __symbols_patch()
609 struct btf_id *id; in sets_patch() local
613 id = rb_entry(next, struct btf_id, rb_node); in sets_patch()
614 addr = id->addr[0]; in sets_patch()
618 if (id->addr_cnt != 1) { in sets_patch()
620 id->name); in sets_patch()
629 (idx + 1) * sizeof(int), cnt, id->name); in sets_patch()