Go to the documentation of this file.
2 #define __PERF_SYMBOL 1
4 #include <linux/types.h>
9 #include <linux/list.h>
10 #include <linux/rbtree.h>
21 #ifdef HAVE_CPLUS_DEMANGLE
22 extern char *cplus_demangle(
const char *,
int);
26 return cplus_demangle(c, i);
37 #define PACKAGE 'perf'
50 # define PERF_ELF_C_READ_MMAP ELF_C_READ_MMAP
52 # define PERF_ELF_C_READ_MMAP ELF_C_READ
56 #define DMGL_PARAMS (1 << 0)
57 #define DMGL_ANSI (1 << 1)
60 #define BUILD_ID_SIZE 20
78 static inline size_t symbol__size(
const struct symbol *sym)
125 static inline void *symbol__priv(
struct symbol *sym)
196 #define DSO__DATA_CACHE_SIZE 4096
197 #define DSO__DATA_CACHE_MASK ~(DSO__DATA_CACHE_SIZE - 1)
236 #ifdef LIBELF_SUPPORT
261 #define DSO__SWAP(dso, type, val) \
264 BUG_ON(dso->needs_swap == DSO_SWAP__UNSET); \
265 if (dso->needs_swap == DSO_SWAP__YES) { \
266 switch (sizeof(____r)) { \
268 ____r = bswap_16(val); \
271 ____r = bswap_32(val); \
274 ____r = bswap_64(val); \
317 FILE *
fp,
bool with_hits);
320 FILE *
fp,
bool with_hits);
343 int (*process_symbol)(
void *arg,
const char *
name,
368 char *root_dir,
char *
file,
size_t size);