Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 4dfd459b738cf1f65b3eac4e0a9b19bc93cc91c6 77 lines 1.8 kB view raw
1/* 2 * builtin-buildid-list.c 3 * 4 * Builtin buildid-list command: list buildids in perf.data 5 * 6 * Copyright (C) 2009, Red Hat Inc. 7 * Copyright (C) 2009, Arnaldo Carvalho de Melo <acme@redhat.com> 8 */ 9#include "builtin.h" 10#include "perf.h" 11#include "util/cache.h" 12#include "util/debug.h" 13#include "util/parse-options.h" 14#include "util/session.h" 15#include "util/symbol.h" 16 17static char const *input_name = "perf.data"; 18static int force; 19 20static const char * const buildid_list_usage[] = { 21 "perf buildid-list [<options>]", 22 NULL 23}; 24 25static const struct option options[] = { 26 OPT_STRING('i', "input", &input_name, "file", 27 "input file name"), 28 OPT_BOOLEAN('f', "force", &force, "don't complain, do it"), 29 OPT_BOOLEAN('v', "verbose", &verbose, 30 "be more verbose"), 31 OPT_END() 32}; 33 34static int perf_file_section__process_buildids(struct perf_file_section *self, 35 int feat, int fd) 36{ 37 if (feat != HEADER_BUILD_ID) 38 return 0; 39 40 if (lseek(fd, self->offset, SEEK_SET) < 0) { 41 pr_warning("Failed to lseek to %Ld offset for buildids!\n", 42 self->offset); 43 return -1; 44 } 45 46 if (perf_header__read_build_ids(fd, self->offset, self->size)) { 47 pr_warning("Failed to read buildids!\n"); 48 return -1; 49 } 50 51 return 0; 52} 53 54static int __cmd_buildid_list(void) 55{ 56 int err = -1; 57 struct perf_session *session; 58 59 session = perf_session__new(input_name, O_RDONLY, force); 60 if (session == NULL) 61 return -1; 62 63 err = perf_header__process_sections(&session->header, session->fd, 64 perf_file_section__process_buildids); 65 if (err >= 0) 66 dsos__fprintf_buildid(stdout); 67 68 perf_session__delete(session); 69 return err; 70} 71 72int cmd_buildid_list(int argc, const char **argv, const char *prefix __used) 73{ 74 argc = parse_options(argc, argv, options, buildid_list_usage, 0); 75 setup_pager(); 76 return __cmd_buildid_list(); 77}