diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2017-04-19 15:21:59 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2017-04-24 11:33:31 -0400 |
commit | 8c2b7cac78e17886e8089389a570a290c9b5ca67 (patch) | |
tree | 94302f8f9f6dcdf61e2df74ef9f9f75f0d903f71 /tools/perf/util/util.c | |
parent | bb8c16db43e48f2012c3ae8c7d682f834c5986d9 (diff) |
perf debug: Move dump_stack() and sighandler_dump_stack() to debug.h
Two more out of util.h.
Link: http://lkml.kernel.org/n/tip-polkuxm1cpr06lbgue5pyqum@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/util.c')
-rw-r--r-- | tools/perf/util/util.c | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c index eb49330c77d4..ae8036f06329 100644 --- a/tools/perf/util/util.c +++ b/tools/perf/util/util.c | |||
@@ -4,9 +4,6 @@ | |||
4 | #include <api/fs/fs.h> | 4 | #include <api/fs/fs.h> |
5 | #include <sys/mman.h> | 5 | #include <sys/mman.h> |
6 | #include <sys/utsname.h> | 6 | #include <sys/utsname.h> |
7 | #ifdef HAVE_BACKTRACE_SUPPORT | ||
8 | #include <execinfo.h> | ||
9 | #endif | ||
10 | #include <dirent.h> | 7 | #include <dirent.h> |
11 | #include <inttypes.h> | 8 | #include <inttypes.h> |
12 | #include <signal.h> | 9 | #include <signal.h> |
@@ -353,34 +350,6 @@ int hex2u64(const char *ptr, u64 *long_val) | |||
353 | return p - ptr; | 350 | return p - ptr; |
354 | } | 351 | } |
355 | 352 | ||
356 | /* Obtain a backtrace and print it to stdout. */ | ||
357 | #ifdef HAVE_BACKTRACE_SUPPORT | ||
358 | void dump_stack(void) | ||
359 | { | ||
360 | void *array[16]; | ||
361 | size_t size = backtrace(array, ARRAY_SIZE(array)); | ||
362 | char **strings = backtrace_symbols(array, size); | ||
363 | size_t i; | ||
364 | |||
365 | printf("Obtained %zd stack frames.\n", size); | ||
366 | |||
367 | for (i = 0; i < size; i++) | ||
368 | printf("%s\n", strings[i]); | ||
369 | |||
370 | free(strings); | ||
371 | } | ||
372 | #else | ||
373 | void dump_stack(void) {} | ||
374 | #endif | ||
375 | |||
376 | void sighandler_dump_stack(int sig) | ||
377 | { | ||
378 | psignal(sig, "perf"); | ||
379 | dump_stack(); | ||
380 | signal(sig, SIG_DFL); | ||
381 | raise(sig); | ||
382 | } | ||
383 | |||
384 | unsigned long parse_tag_value(const char *str, struct parse_tag *tags) | 353 | unsigned long parse_tag_value(const char *str, struct parse_tag *tags) |
385 | { | 354 | { |
386 | struct parse_tag *i = tags; | 355 | struct parse_tag *i = tags; |