15 #ifdef HAVE_LIBELF_SUPPORT 18 return ehdr.e_type == ET_EXEC ||
19 ehdr.e_type == ET_REL ||
20 ehdr.e_type == ET_DYN;
25 #if !defined(_CALL_ELF) || _CALL_ELF != 2 27 struct symbol *symb __maybe_unused)
36 if (strlen(sym) >= 3 && !strncmp(sym,
"SyS", 3))
38 if (strlen(sym) >= 10 && !strncmp(sym,
"compat_SyS", 10))
53 return strcmp(namea, nameb);
65 return strncmp(namea, nameb, n);
71 if (name && *name ==
'.')
77 #if defined(_CALL_ELF) && _CALL_ELF == 2 79 #ifdef HAVE_LIBELF_SUPPORT 86 #define PPC64LE_LEP_OFFSET 8 109 #ifdef HAVE_LIBELF_SUPPORT 115 lep_offset = PPC64_LOCAL_ENTRY_OFFSET(sym->
arch_sym);
119 else if (lep_offset) {
127 #ifdef HAVE_LIBELF_SUPPORT 133 struct symbol *sym = NULL;
141 for (i = 0; i < ntevs; i++) {
struct probe_trace_point point
#define map__for_each_symbol(map, pos, n)
struct perf_probe_point point
void __weak arch__sym_update(struct symbol *s __maybe_unused, GElf_Sym *sym __maybe_unused)
bool kretprobe_offset_is_supported(void)
struct probe_trace_event * tevs
bool __weak elf__needs_adjust_symbols(GElf_Ehdr ehdr)
void __weak arch__fix_tev_from_maps(struct perf_probe_event *pev __maybe_unused, struct probe_trace_event *tev __maybe_unused, struct map *map __maybe_unused, struct symbol *sym __maybe_unused)
void arch__post_process_probe_trace_events(struct perf_probe_event *pev, int ntevs)
struct map * get_target_map(const char *target, struct nsinfo *nsi, bool user)
static int sym(yyscan_t scanner, int type, int config)
int arch__choose_best_symbol(struct symbol *syma, struct symbol *symb __maybe_unused)
const char * arch__normalize_symbol_name(const char *name)
enum dso_binary_type symtab_type
u64(* unmap_ip)(struct map *, u64)
int arch__compare_symbol_names(const char *namea, const char *nameb)
int arch__compare_symbol_names_n(const char *namea, const char *nameb, unsigned int n)
int map__load(struct map *map)