Lines Matching refs:id

10  * __BTF_ID__<type>__<symbol>[__<id>]
105 int id;
180 struct btf_id *id;
184 id = rb_entry(p, struct btf_id, rb_node);
185 cmp = strcmp(id->name, name);
191 return id;
201 struct btf_id *id;
206 id = rb_entry(parent, struct btf_id, rb_node);
207 cmp = strcmp(id->name, name);
213 return unique ? NULL : id;
216 id = zalloc(sizeof(*id));
217 if (id) {
219 id->name = name;
220 rb_link_node(&id->rb_node, parent, p);
221 rb_insert_color(&id->rb_node, root);
223 return id;
235 char *p, *id;
240 id = strdup(prefix_end + pos);
241 if (id) {
244 * id = ^
246 * cut the unique id part
248 p = strrchr(id, '_');
251 free(id);
256 return id;
264 * id = ^
266 char *id = name + (is_set8 ? sizeof(BTF_SET8 "__") : sizeof(BTF_SET "__")) - 1;
269 if (id >= name + len) {
274 return btf_id__add(&obj->sets, id, true);
279 char *id;
281 id = get_id(name + size);
282 if (!id) {
287 return btf_id__add(root, id, false);
443 struct btf_id *id;
467 id = add_symbol(&obj->structs, prefix, sizeof(BTF_STRUCT) - 1);
471 id = add_symbol(&obj->unions, prefix, sizeof(BTF_UNION) - 1);
475 id = add_symbol(&obj->typedefs, prefix, sizeof(BTF_TYPEDEF) - 1);
479 id = add_symbol(&obj->funcs, prefix, sizeof(BTF_FUNC) - 1);
482 id = add_set(obj, prefix, true);
488 if (id) {
489 id->cnt = sym.st_size / sizeof(uint64_t) - 1;
490 id->is_set8 = true;
494 id = add_set(obj, prefix, false);
500 if (id) {
501 id->cnt = sym.st_size / sizeof(int) - 1;
502 id->is_set = true;
509 if (!id)
512 if (id->addr_cnt >= ADDR_CNT) {
514 id->name);
517 id->addr[id->addr_cnt++] = sym.st_value;
561 struct btf_id *id;
594 id = btf_id__find(root, str);
595 if (id) {
596 if (id->id) {
598 str, id->id, type_id, id->id);
600 id->id = type_id;
613 static int id_patch(struct object *obj, struct btf_id *id)
619 /* For set, set8, id->id may be 0 */
620 if (!id->id && !id->is_set && !id->is_set8)
621 pr_err("WARN: resolve_btfids: unresolved symbol %s\n", id->name);
623 for (i = 0; i < id->addr_cnt; i++) {
624 unsigned long addr = id->addr[i];
628 idx, id->id, id->name);
637 ptr[idx] = id->id;
646 struct btf_id *id;
650 id = rb_entry(next, struct btf_id, rb_node);
652 if (id_patch(obj, id))
677 struct btf_id *id;
679 id = rb_entry(next, struct btf_id, rb_node);
680 addr = id->addr[0];
684 if (id->addr_cnt != 1) {
686 id->name);
690 if (id->is_set) {
696 * Make sure id is at the beginning of the pairs
699 BUILD_BUG_ON(set8->pairs != &set8->pairs[0].id);
722 off, id->is_set ? set->cnt : set8->cnt, id->name);