symbol.h (3a37471551cd3b287ce7f02ed25bcf8ec37a191d) symbol.h (9a3993d408bc61b839de1a2c6c783477a04860bb)
1#ifndef __PERF_SYMBOL
2#define __PERF_SYMBOL 1
3
4#include <linux/types.h>
5#include <stdbool.h>
6#include <stdint.h>
7#include "map.h"
8#include "../perf.h"
9#include <linux/list.h>
10#include <linux/rbtree.h>
11#include <stdio.h>
12#include <byteswap.h>
13#include <libgen.h>
14#include "build-id.h"
15#include "event.h"
1#ifndef __PERF_SYMBOL
2#define __PERF_SYMBOL 1
3
4#include <linux/types.h>
5#include <stdbool.h>
6#include <stdint.h>
7#include "map.h"
8#include "../perf.h"
9#include <linux/list.h>
10#include <linux/rbtree.h>
11#include <stdio.h>
12#include <byteswap.h>
13#include <libgen.h>
14#include "build-id.h"
15#include "event.h"
16#include "util.h"
16#include "path.h"
17
18#ifdef HAVE_LIBELF_SUPPORT
19#include <libelf.h>
20#include <gelf.h>
21#endif
22#include <elf.h>
23
24#include "dso.h"

--- 88 unchanged lines hidden (view full) ---

113 demangle_kernel,
114 filter_relative,
115 show_hist_headers,
116 branch_callstack,
117 has_filter,
118 show_ref_callgraph,
119 hide_unresolved,
120 raw_trace,
17
18#ifdef HAVE_LIBELF_SUPPORT
19#include <libelf.h>
20#include <gelf.h>
21#endif
22#include <elf.h>
23
24#include "dso.h"

--- 88 unchanged lines hidden (view full) ---

113 demangle_kernel,
114 filter_relative,
115 show_hist_headers,
116 branch_callstack,
117 has_filter,
118 show_ref_callgraph,
119 hide_unresolved,
120 raw_trace,
121 report_hierarchy;
121 report_hierarchy,
122 inline_name;
122 const char *vmlinux_name,
123 *kallsyms_name,
124 *source_prefix,
125 *field_sep;
126 const char *default_guest_vmlinux_name,
127 *default_guest_kallsyms,
128 *default_guest_modules;
129 const char *guestmount;

--- 170 unchanged lines hidden (view full) ---

300int symbol__config_symfs(const struct option *opt __maybe_unused,
301 const char *dir, int unset __maybe_unused);
302
303int dso__load_sym(struct dso *dso, struct map *map, struct symsrc *syms_ss,
304 struct symsrc *runtime_ss, int kmodule);
305int dso__synthesize_plt_symbols(struct dso *dso, struct symsrc *ss,
306 struct map *map);
307
123 const char *vmlinux_name,
124 *kallsyms_name,
125 *source_prefix,
126 *field_sep;
127 const char *default_guest_vmlinux_name,
128 *default_guest_kallsyms,
129 *default_guest_modules;
130 const char *guestmount;

--- 170 unchanged lines hidden (view full) ---

301int symbol__config_symfs(const struct option *opt __maybe_unused,
302 const char *dir, int unset __maybe_unused);
303
304int dso__load_sym(struct dso *dso, struct map *map, struct symsrc *syms_ss,
305 struct symsrc *runtime_ss, int kmodule);
306int dso__synthesize_plt_symbols(struct dso *dso, struct symsrc *ss,
307 struct map *map);
308
309char *dso__demangle_sym(struct dso *dso, int kmodule, char *elf_name);
310
308void __symbols__insert(struct rb_root *symbols, struct symbol *sym, bool kernel);
309void symbols__insert(struct rb_root *symbols, struct symbol *sym);
310void symbols__fixup_duplicate(struct rb_root *symbols);
311void symbols__fixup_end(struct rb_root *symbols);
312void __map_groups__fixup_end(struct map_groups *mg, enum map_type type);
313
314typedef int (*mapfn_t)(u64 start, u64 len, u64 pgoff, void *data);
315int file__read_maps(int fd, bool exe, mapfn_t mapfn, void *data,

--- 30 unchanged lines hidden (view full) ---

346#define SYMBOL_B 1
347
348int arch__choose_best_symbol(struct symbol *syma, struct symbol *symb);
349
350/* structure containing an SDT note's info */
351struct sdt_note {
352 char *name; /* name of the note*/
353 char *provider; /* provider name */
311void __symbols__insert(struct rb_root *symbols, struct symbol *sym, bool kernel);
312void symbols__insert(struct rb_root *symbols, struct symbol *sym);
313void symbols__fixup_duplicate(struct rb_root *symbols);
314void symbols__fixup_end(struct rb_root *symbols);
315void __map_groups__fixup_end(struct map_groups *mg, enum map_type type);
316
317typedef int (*mapfn_t)(u64 start, u64 len, u64 pgoff, void *data);
318int file__read_maps(int fd, bool exe, mapfn_t mapfn, void *data,

--- 30 unchanged lines hidden (view full) ---

349#define SYMBOL_B 1
350
351int arch__choose_best_symbol(struct symbol *syma, struct symbol *symb);
352
353/* structure containing an SDT note's info */
354struct sdt_note {
355 char *name; /* name of the note*/
356 char *provider; /* provider name */
357 char *args;
354 bool bit32; /* whether the location is 32 bits? */
355 union { /* location, base and semaphore addrs */
356 Elf64_Addr a64[3];
357 Elf32_Addr a32[3];
358 } addr;
359 struct list_head note_list; /* SDT notes' list */
360};
361
362int get_sdt_note_list(struct list_head *head, const char *target);
363int cleanup_sdt_note_list(struct list_head *sdt_notes);
364int sdt_notes__get_count(struct list_head *start);
365
366#define SDT_BASE_SCN ".stapsdt.base"
367#define SDT_NOTE_SCN ".note.stapsdt"
368#define SDT_NOTE_TYPE 3
369#define SDT_NOTE_NAME "stapsdt"
370#define NR_ADDR 3
371
372#endif /* __PERF_SYMBOL */
358 bool bit32; /* whether the location is 32 bits? */
359 union { /* location, base and semaphore addrs */
360 Elf64_Addr a64[3];
361 Elf32_Addr a32[3];
362 } addr;
363 struct list_head note_list; /* SDT notes' list */
364};
365
366int get_sdt_note_list(struct list_head *head, const char *target);
367int cleanup_sdt_note_list(struct list_head *sdt_notes);
368int sdt_notes__get_count(struct list_head *start);
369
370#define SDT_BASE_SCN ".stapsdt.base"
371#define SDT_NOTE_SCN ".note.stapsdt"
372#define SDT_NOTE_TYPE 3
373#define SDT_NOTE_NAME "stapsdt"
374#define NR_ADDR 3
375
376#endif /* __PERF_SYMBOL */