perf symbols: Don't try to find DSOs in SYSV maps
[deliverable/linux.git] / tools / perf / builtin-sched.c
index 7c16aeb6b675ecd489c19246b99499a9abf0e714..9c9287fbf8e98d4b480a668d34d756b2c11ed9f3 100644 (file)
@@ -428,6 +428,7 @@ static u64 get_cpu_usage_nsec_parent(void)
 static int self_open_counters(void)
 {
        struct perf_event_attr attr;
+       char sbuf[STRERR_BUFSIZE];
        int fd;
 
        memset(&attr, 0, sizeof(attr));
@@ -440,7 +441,8 @@ static int self_open_counters(void)
 
        if (fd < 0)
                pr_err("Error: sys_perf_event_open() syscall returned "
-                      "with %d (%s)\n", fd, strerror(errno));
+                      "with %d (%s)\n", fd,
+                      strerror_r(errno, sbuf, sizeof(sbuf)));
        return fd;
 }
 
@@ -1462,6 +1464,8 @@ static int perf_sched__read_events(struct perf_sched *sched,
                return -1;
        }
 
+       symbol__init(&session->header.env);
+
        if (perf_session__set_tracepoints_handlers(session, handlers))
                goto out_delete;
 
@@ -1747,7 +1751,6 @@ int cmd_sched(int argc, const char **argv, const char *prefix __maybe_unused)
        if (!strcmp(argv[0], "script"))
                return cmd_script(argc, argv, prefix);
 
-       symbol__init();
        if (!strncmp(argv[0], "rec", 3)) {
                return __cmd_record(argc, argv);
        } else if (!strncmp(argv[0], "lat", 3)) {
This page took 0.023857 seconds and 5 git commands to generate.