Lines Matching refs:symbols

191 void symbols__fixup_duplicate(struct rb_root_cached *symbols)
199 nd = rb_first_cached(symbols);
215 rb_erase_cached(&next->rb_node, symbols);
222 rb_erase_cached(&curr->rb_node, symbols);
228 /* Update zero-sized symbols using the address of the next symbol */
229 void symbols__fixup_end(struct rb_root_cached *symbols, bool is_kallsyms)
231 struct rb_node *nd, *prevnd = rb_first_cached(symbols);
255 * In kallsyms, it determines module symbols using '[' character
331 void symbols__delete(struct rb_root_cached *symbols)
334 struct rb_node *next = rb_first_cached(symbols);
339 rb_erase_cached(&pos->rb_node, symbols);
344 void __symbols__insert(struct rb_root_cached *symbols,
347 struct rb_node **p = &symbols->rb_root.rb_node;
375 rb_insert_color_cached(&sym->rb_node, symbols, leftmost);
378 void symbols__insert(struct rb_root_cached *symbols, struct symbol *sym)
380 __symbols__insert(symbols, sym, false);
383 static struct symbol *symbols__find(struct rb_root_cached *symbols, u64 ip)
387 if (symbols == NULL)
390 n = symbols->rb_root.rb_node;
406 static struct symbol *symbols__first(struct rb_root_cached *symbols)
408 struct rb_node *n = rb_first_cached(symbols);
416 static struct symbol *symbols__last(struct rb_root_cached *symbols)
418 struct rb_node *n = rb_last(&symbols->rb_root);
484 static struct symbol *symbols__find_by_name(struct symbol *symbols[],
503 cmp = symbol__match_symbol_name(symbols[i]->name, name, includes);
512 s = symbols[i];
519 struct symbol *tmp = symbols[i - 1];
529 assert(!found_idx || !s || s == symbols[*found_idx]);
541 __symbols__insert(&dso->symbols, sym, dso->kernel);
553 rb_erase_cached(&sym->rb_node, &dso->symbols);
562 dso->last_find_result.symbol = symbols__find(&dso->symbols, addr);
570 return symbols__find(&dso->symbols, addr);
575 return symbols__first(&dso->symbols);
580 return symbols__last(&dso->symbols);
616 dso->symbol_names = symbols__sort_by_name(&dso->symbols, &len);
702 * These are symbols in the kernel image, so make sure that
749 struct rb_root_cached *root = &dso->symbols;
754 /* Ignore local symbols for ARM modules */
759 * module symbols are not sorted so we add all
760 * symbols, setting length to 0, and rely on
767 * We will pass the symbols to the filter later, in
789 struct rb_root_cached old_root = dso->symbols;
790 struct rb_root_cached *root = &dso->symbols;
824 symbols__insert(&curr_map_dso->symbols, pos);
836 * Split the symbols into maps, making sure there are no overlaps, i.e. the
847 struct rb_root_cached *root = &dso->symbols;
879 * We assume all symbols of a module are
882 * symbols are in its kmap. Mark it as
911 * These symbols are not needed anymore since the
913 * symbols instead. Avoid having to deal with
916 * symbols at this point.
974 symbols__insert(&curr_map_dso->symbols, pos);
1408 * If one of the corresponding symbols is there, assume the
1485 symbols__fixup_end(&dso->symbols, true);
1486 symbols__fixup_duplicate(&dso->symbols);
1547 symbols__insert(&dso->symbols, sym);
1592 asymbol **symbols, *sym;
1619 symbols = malloc(symbols_size);
1620 if (!symbols)
1623 symbols_count = bfd_canonicalize_symtab(abfd, symbols);
1630 if (!strcmp(bfd_asymbol_name(symbols[i]), "__ImageBase") ||
1631 !strcmp(bfd_asymbol_name(symbols[i]), "__image_base__"))
1635 /* PE symbols can only have 4 bytes, so use .text high bits */
1637 dso->text_offset += (u32)bfd_asymbol_value(symbols[i]);
1645 qsort(symbols, symbols_count, sizeof(asymbol *), bfd_symbols__cmpvalue);
1651 sym = symbols[i];
1657 bfd_asymbol_section(symbols[i + 1]) == section &&
1658 bfd2elf_binding(symbols[i + 1]) < 0)
1662 bfd_asymbol_section(symbols[i + 1]) == section)
1663 len = symbols[i + 1]->value - sym->value;
1673 symbols__insert(&dso->symbols, symbol);
1679 symbols__fixup_end(&dso->symbols, false);
1680 symbols__fixup_duplicate(&dso->symbols);
1685 free(symbols);
2008 pr_debug("Using %s for symbols\n", symfs_vmlinux);
2208 pr_debug("Using %s for symbols\n", kallsyms_filename);
2253 pr_debug("Using %s for symbols\n", kallsyms_filename);
2499 * A path to symbols of "/" is identical to ""