Lines Matching full:symbols
209 void symbols__fixup_duplicate(struct rb_root_cached *symbols)
217 nd = rb_first_cached(symbols);
233 rb_erase_cached(&next->rb_node, symbols);
240 rb_erase_cached(&curr->rb_node, symbols);
246 /* Update zero-sized symbols using the address of the next symbol */
247 void symbols__fixup_end(struct rb_root_cached *symbols, bool is_kallsyms)
249 struct rb_node *nd, *prevnd = rb_first_cached(symbols);
273 * In kallsyms, it determines module symbols using '[' character
349 void symbols__delete(struct rb_root_cached *symbols)
352 struct rb_node *next = rb_first_cached(symbols);
357 rb_erase_cached(&pos->rb_node, symbols);
362 void __symbols__insert(struct rb_root_cached *symbols,
365 struct rb_node **p = &symbols->rb_root.rb_node;
393 rb_insert_color_cached(&sym->rb_node, symbols, leftmost);
396 void symbols__insert(struct rb_root_cached *symbols, struct symbol *sym)
398 __symbols__insert(symbols, sym, false);
401 static struct symbol *symbols__find(struct rb_root_cached *symbols, u64 ip)
405 if (symbols == NULL)
408 n = symbols->rb_root.rb_node;
424 static struct symbol *symbols__first(struct rb_root_cached *symbols)
426 struct rb_node *n = rb_first_cached(symbols);
434 static struct symbol *symbols__last(struct rb_root_cached *symbols)
436 struct rb_node *n = rb_last(&symbols->rb_root);
502 static struct symbol *symbols__find_by_name(struct symbol *symbols[],
521 cmp = symbol__match_symbol_name(symbols[i]->name, name, includes);
530 s = symbols[i];
537 struct symbol *tmp = symbols[i - 1];
547 assert(!found_idx || !s || s == symbols[*found_idx]);
722 * These are symbols in the kernel image, so make sure that
774 /* Ignore local symbols for ARM modules */
779 * module symbols are not sorted so we add all
780 * symbols, setting length to 0, and rely on
787 * We will pass the symbols to the filter later, in
849 /* Symbols have been adjusted */
856 * Split the symbols into maps, making sure there are no overlaps, i.e. the
899 * We assume all symbols of a module are
902 * symbols are in its kmap. Mark it as
931 * These symbols are not needed anymore since the
933 * symbols instead. Avoid having to deal with
936 * symbols at this point.
1433 * If one of the corresponding symbols is there, assume the
1617 asymbol **symbols, *sym;
1644 symbols = malloc(symbols_size);
1645 if (!symbols)
1648 symbols_count = bfd_canonicalize_symtab(abfd, symbols);
1655 if (!strcmp(bfd_asymbol_name(symbols[i]), "__ImageBase") ||
1656 !strcmp(bfd_asymbol_name(symbols[i]), "__image_base__"))
1660 /* PE symbols can only have 4 bytes, so use .text high bits */
1662 + (u32)bfd_asymbol_value(symbols[i]);
1671 qsort(symbols, symbols_count, sizeof(asymbol *), bfd_symbols__cmpvalue);
1677 sym = symbols[i];
1683 bfd_asymbol_section(symbols[i + 1]) == section &&
1684 bfd2elf_binding(symbols[i + 1]) < 0)
1688 bfd_asymbol_section(symbols[i + 1]) == section)
1689 len = symbols[i + 1]->value - sym->value;
1711 free(symbols);
2046 pr_debug("Using %s for symbols\n", symfs_vmlinux);
2244 pr_debug("Using %s for symbols\n", kallsyms_filename);
2289 pr_debug("Using %s for symbols\n", kallsyms_filename);
2568 * A path to symbols of "/" is identical to ""