Loading tools/perf/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -770,6 +770,7 @@ check: $(OUTPUT)common-cmds.h install-bin: all $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)' $(INSTALL) $(OUTPUT)perf '$(DESTDIR_SQ)$(bindir_SQ)' $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' $(INSTALL) $(OUTPUT)perf-archive -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' ifndef NO_LIBPERL $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace' Loading tools/perf/builtin-stat.c +1 −0 Original line number Diff line number Diff line Loading @@ -534,6 +534,7 @@ static int __run_perf_stat(int argc, const char **argv) perror("failed to prepare workload"); return -1; } child_pid = evsel_list->workload.pid; } if (group) Loading tools/perf/config/feature-tests.mak +1 −1 Original line number Diff line number Diff line Loading @@ -219,7 +219,7 @@ define SOURCE_LIBAUDIT int main(void) { printf(\"error message: %s\n\", audit_errno_to_name(0)); printf(\"error message: %s\", audit_errno_to_name(0)); return audit_open(); } endef Loading tools/perf/util/dwarf-aux.c +21 −4 Original line number Diff line number Diff line Loading @@ -426,7 +426,7 @@ static int __die_search_func_cb(Dwarf_Die *fn_die, void *data) * @die_mem: a buffer for result DIE * * Search a non-inlined function DIE which includes @addr. Stores the * DIE to @die_mem and returns it if found. Returns NULl if failed. * DIE to @die_mem and returns it if found. Returns NULL if failed. */ Dwarf_Die *die_find_realfunc(Dwarf_Die *cu_die, Dwarf_Addr addr, Dwarf_Die *die_mem) Loading @@ -453,16 +453,33 @@ static int __die_find_inline_cb(Dwarf_Die *die_mem, void *data) return DIE_FIND_CB_CONTINUE; } /** * die_find_top_inlinefunc - Search the top inlined function at given address * @sp_die: a subprogram DIE which including @addr * @addr: target address * @die_mem: a buffer for result DIE * * Search an inlined function DIE which includes @addr. Stores the * DIE to @die_mem and returns it if found. Returns NULL if failed. * Even if several inlined functions are expanded recursively, this * doesn't trace it down, and returns the topmost one. */ Dwarf_Die *die_find_top_inlinefunc(Dwarf_Die *sp_die, Dwarf_Addr addr, Dwarf_Die *die_mem) { return die_find_child(sp_die, __die_find_inline_cb, &addr, die_mem); } /** * die_find_inlinefunc - Search an inlined function at given address * @cu_die: a CU DIE which including @addr * @sp_die: a subprogram DIE which including @addr * @addr: target address * @die_mem: a buffer for result DIE * * Search an inlined function DIE which includes @addr. Stores the * DIE to @die_mem and returns it if found. Returns NULl if failed. * DIE to @die_mem and returns it if found. Returns NULL if failed. * If several inlined functions are expanded recursively, this trace * it and returns deepest one. * it down and returns deepest one. */ Dwarf_Die *die_find_inlinefunc(Dwarf_Die *sp_die, Dwarf_Addr addr, Dwarf_Die *die_mem) Loading tools/perf/util/dwarf-aux.h +5 −1 Original line number Diff line number Diff line Loading @@ -79,7 +79,11 @@ extern Dwarf_Die *die_find_child(Dwarf_Die *rt_die, extern Dwarf_Die *die_find_realfunc(Dwarf_Die *cu_die, Dwarf_Addr addr, Dwarf_Die *die_mem); /* Search an inlined function including given address */ /* Search the top inlined function including given address */ extern Dwarf_Die *die_find_top_inlinefunc(Dwarf_Die *sp_die, Dwarf_Addr addr, Dwarf_Die *die_mem); /* Search the deepest inlined function including given address */ extern Dwarf_Die *die_find_inlinefunc(Dwarf_Die *sp_die, Dwarf_Addr addr, Dwarf_Die *die_mem); Loading Loading
tools/perf/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -770,6 +770,7 @@ check: $(OUTPUT)common-cmds.h install-bin: all $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)' $(INSTALL) $(OUTPUT)perf '$(DESTDIR_SQ)$(bindir_SQ)' $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' $(INSTALL) $(OUTPUT)perf-archive -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' ifndef NO_LIBPERL $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace' Loading
tools/perf/builtin-stat.c +1 −0 Original line number Diff line number Diff line Loading @@ -534,6 +534,7 @@ static int __run_perf_stat(int argc, const char **argv) perror("failed to prepare workload"); return -1; } child_pid = evsel_list->workload.pid; } if (group) Loading
tools/perf/config/feature-tests.mak +1 −1 Original line number Diff line number Diff line Loading @@ -219,7 +219,7 @@ define SOURCE_LIBAUDIT int main(void) { printf(\"error message: %s\n\", audit_errno_to_name(0)); printf(\"error message: %s\", audit_errno_to_name(0)); return audit_open(); } endef Loading
tools/perf/util/dwarf-aux.c +21 −4 Original line number Diff line number Diff line Loading @@ -426,7 +426,7 @@ static int __die_search_func_cb(Dwarf_Die *fn_die, void *data) * @die_mem: a buffer for result DIE * * Search a non-inlined function DIE which includes @addr. Stores the * DIE to @die_mem and returns it if found. Returns NULl if failed. * DIE to @die_mem and returns it if found. Returns NULL if failed. */ Dwarf_Die *die_find_realfunc(Dwarf_Die *cu_die, Dwarf_Addr addr, Dwarf_Die *die_mem) Loading @@ -453,16 +453,33 @@ static int __die_find_inline_cb(Dwarf_Die *die_mem, void *data) return DIE_FIND_CB_CONTINUE; } /** * die_find_top_inlinefunc - Search the top inlined function at given address * @sp_die: a subprogram DIE which including @addr * @addr: target address * @die_mem: a buffer for result DIE * * Search an inlined function DIE which includes @addr. Stores the * DIE to @die_mem and returns it if found. Returns NULL if failed. * Even if several inlined functions are expanded recursively, this * doesn't trace it down, and returns the topmost one. */ Dwarf_Die *die_find_top_inlinefunc(Dwarf_Die *sp_die, Dwarf_Addr addr, Dwarf_Die *die_mem) { return die_find_child(sp_die, __die_find_inline_cb, &addr, die_mem); } /** * die_find_inlinefunc - Search an inlined function at given address * @cu_die: a CU DIE which including @addr * @sp_die: a subprogram DIE which including @addr * @addr: target address * @die_mem: a buffer for result DIE * * Search an inlined function DIE which includes @addr. Stores the * DIE to @die_mem and returns it if found. Returns NULl if failed. * DIE to @die_mem and returns it if found. Returns NULL if failed. * If several inlined functions are expanded recursively, this trace * it and returns deepest one. * it down and returns deepest one. */ Dwarf_Die *die_find_inlinefunc(Dwarf_Die *sp_die, Dwarf_Addr addr, Dwarf_Die *die_mem) Loading
tools/perf/util/dwarf-aux.h +5 −1 Original line number Diff line number Diff line Loading @@ -79,7 +79,11 @@ extern Dwarf_Die *die_find_child(Dwarf_Die *rt_die, extern Dwarf_Die *die_find_realfunc(Dwarf_Die *cu_die, Dwarf_Addr addr, Dwarf_Die *die_mem); /* Search an inlined function including given address */ /* Search the top inlined function including given address */ extern Dwarf_Die *die_find_top_inlinefunc(Dwarf_Die *sp_die, Dwarf_Addr addr, Dwarf_Die *die_mem); /* Search the deepest inlined function including given address */ extern Dwarf_Die *die_find_inlinefunc(Dwarf_Die *sp_die, Dwarf_Addr addr, Dwarf_Die *die_mem); Loading