瀏覽代碼

Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent

Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

  - Add missing newlines to some pr_err() calls (Arnaldo Carvalho de Melo)

  - Print full source file paths when using
    'perf annotate --print-line --full-paths' (Michael Petlan)

  - Fix 'perf probe -d' when just one out of uprobes and kprobes is
    enabled (Wang Nan)

  - Add compiler.h to list.h to fix 'make perf-tar-src-pkg' generated
    tarballs, i.e. out of tree building (Arnaldo Carvalho de Melo)

  - Add the llvm-src-base.c and llvm-src-kbuild.c files, generated by the
    'perf test' LLVM entries, when running it in-tree, to .gitignore (Yunlong Song)

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Ingo Molnar 9 年之前
父節點
當前提交
492cf7a0be
共有 5 個文件被更改,包括 14 次插入4 次删除
  1. 1 0
      tools/include/linux/list.h
  2. 2 0
      tools/perf/tests/.gitignore
  3. 1 0
      tools/perf/util/annotate.c
  4. 6 0
      tools/perf/util/probe-file.c
  5. 4 4
      tools/perf/util/session.c

+ 1 - 0
tools/include/linux/list.h

@@ -1,3 +1,4 @@
+#include <linux/compiler.h>
 #include <linux/kernel.h>
 #include <linux/types.h>
 

+ 2 - 0
tools/perf/tests/.gitignore

@@ -0,0 +1,2 @@
+llvm-src-base.c
+llvm-src-kbuild.c

+ 1 - 0
tools/perf/util/annotate.c

@@ -1620,6 +1620,7 @@ int symbol__tty_annotate(struct symbol *sym, struct map *map,
 	len = symbol__size(sym);
 
 	if (print_lines) {
+		srcline_full_filename = full_paths;
 		symbol__get_source_line(sym, map, evsel, &source_line, len);
 		print_summary(&source_line, dso->long_name);
 	}

+ 6 - 0
tools/perf/util/probe-file.c

@@ -138,6 +138,9 @@ struct strlist *probe_file__get_rawlist(int fd)
 	char *p;
 	struct strlist *sl;
 
+	if (fd < 0)
+		return NULL;
+
 	sl = strlist__new(NULL, NULL);
 
 	fp = fdopen(dup(fd), "r");
@@ -271,6 +274,9 @@ int probe_file__get_events(int fd, struct strfilter *filter,
 	const char *p;
 	int ret = -ENOENT;
 
+	if (!plist)
+		return -EINVAL;
+
 	namelist = __probe_file__get_namelist(fd, true);
 	if (!namelist)
 		return -ENOENT;

+ 4 - 4
tools/perf/util/session.c

@@ -29,7 +29,7 @@ static int perf_session__open(struct perf_session *session)
 	struct perf_data_file *file = session->file;
 
 	if (perf_session__read_header(session) < 0) {
-		pr_err("incompatible file format (rerun with -v to learn more)");
+		pr_err("incompatible file format (rerun with -v to learn more)\n");
 		return -1;
 	}
 
@@ -37,17 +37,17 @@ static int perf_session__open(struct perf_session *session)
 		return 0;
 
 	if (!perf_evlist__valid_sample_type(session->evlist)) {
-		pr_err("non matching sample_type");
+		pr_err("non matching sample_type\n");
 		return -1;
 	}
 
 	if (!perf_evlist__valid_sample_id_all(session->evlist)) {
-		pr_err("non matching sample_id_all");
+		pr_err("non matching sample_id_all\n");
 		return -1;
 	}
 
 	if (!perf_evlist__valid_read_format(session->evlist)) {
-		pr_err("non matching read_format");
+		pr_err("non matching read_format\n");
 		return -1;
 	}