aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/builtin-probe.c5
-rw-r--r--tools/perf/util/probe-event.c28
-rw-r--r--tools/perf/util/probe-finder.c7
3 files changed, 24 insertions, 16 deletions
diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index c63fa2925075..347729e29a92 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -290,8 +290,11 @@ static void cleanup_params(void)
290 290
291static void pr_err_with_code(const char *msg, int err) 291static void pr_err_with_code(const char *msg, int err)
292{ 292{
293 char sbuf[STRERR_BUFSIZE];
294
293 pr_err("%s", msg); 295 pr_err("%s", msg);
294 pr_debug(" Reason: %s (Code: %d)", strerror(-err), err); 296 pr_debug(" Reason: %s (Code: %d)",
297 strerror_r(-err, sbuf, sizeof(sbuf)), err);
295 pr_err("\n"); 298 pr_err("\n");
296} 299}
297 300
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index bf39c23b275d..f73595fc0627 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -573,7 +573,7 @@ static int get_real_path(const char *raw_path, const char *comp_dir,
573 573
574static int __show_one_line(FILE *fp, int l, bool skip, bool show_num) 574static int __show_one_line(FILE *fp, int l, bool skip, bool show_num)
575{ 575{
576 char buf[LINEBUF_SIZE]; 576 char buf[LINEBUF_SIZE], sbuf[STRERR_BUFSIZE];
577 const char *color = show_num ? "" : PERF_COLOR_BLUE; 577 const char *color = show_num ? "" : PERF_COLOR_BLUE;
578 const char *prefix = NULL; 578 const char *prefix = NULL;
579 579
@@ -593,7 +593,8 @@ static int __show_one_line(FILE *fp, int l, bool skip, bool show_num)
593 return 1; 593 return 1;
594error: 594error:
595 if (ferror(fp)) { 595 if (ferror(fp)) {
596 pr_warning("File read error: %s\n", strerror(errno)); 596 pr_warning("File read error: %s\n",
597 strerror_r(errno, sbuf, sizeof(sbuf)));
597 return -1; 598 return -1;
598 } 599 }
599 return 0; 600 return 0;
@@ -626,6 +627,7 @@ static int __show_line_range(struct line_range *lr, const char *module)
626 FILE *fp; 627 FILE *fp;
627 int ret; 628 int ret;
628 char *tmp; 629 char *tmp;
630 char sbuf[STRERR_BUFSIZE];
629 631
630 /* Search a line range */ 632 /* Search a line range */
631 dinfo = open_debuginfo(module, false); 633 dinfo = open_debuginfo(module, false);
@@ -662,7 +664,7 @@ static int __show_line_range(struct line_range *lr, const char *module)
662 fp = fopen(lr->path, "r"); 664 fp = fopen(lr->path, "r");
663 if (fp == NULL) { 665 if (fp == NULL) {
664 pr_warning("Failed to open %s: %s\n", lr->path, 666 pr_warning("Failed to open %s: %s\n", lr->path,
665 strerror(errno)); 667 strerror_r(errno, sbuf, sizeof(sbuf)));
666 return -errno; 668 return -errno;
667 } 669 }
668 /* Skip to starting line number */ 670 /* Skip to starting line number */
@@ -1410,8 +1412,7 @@ int synthesize_perf_probe_arg(struct perf_probe_arg *pa, char *buf, size_t len)
1410 1412
1411 return tmp - buf; 1413 return tmp - buf;
1412error: 1414error:
1413 pr_debug("Failed to synthesize perf probe argument: %s\n", 1415 pr_debug("Failed to synthesize perf probe argument: %d\n", ret);
1414 strerror(-ret));
1415 return ret; 1416 return ret;
1416} 1417}
1417 1418
@@ -1460,8 +1461,7 @@ static char *synthesize_perf_probe_point(struct perf_probe_point *pp)
1460 1461
1461 return buf; 1462 return buf;
1462error: 1463error:
1463 pr_debug("Failed to synthesize perf probe point: %s\n", 1464 pr_debug("Failed to synthesize perf probe point: %d\n", ret);
1464 strerror(-ret));
1465 free(buf); 1465 free(buf);
1466 return NULL; 1466 return NULL;
1467} 1467}
@@ -1787,7 +1787,7 @@ static void clear_probe_trace_event(struct probe_trace_event *tev)
1787 1787
1788static void print_open_warning(int err, bool is_kprobe) 1788static void print_open_warning(int err, bool is_kprobe)
1789{ 1789{
1790 char sbuf[128]; 1790 char sbuf[STRERR_BUFSIZE];
1791 1791
1792 if (err == -ENOENT) { 1792 if (err == -ENOENT) {
1793 const char *config; 1793 const char *config;
@@ -1817,7 +1817,7 @@ static void print_both_open_warning(int kerr, int uerr)
1817 pr_warning("Please rebuild kernel with CONFIG_KPROBE_EVENTS " 1817 pr_warning("Please rebuild kernel with CONFIG_KPROBE_EVENTS "
1818 "or/and CONFIG_UPROBE_EVENTS.\n"); 1818 "or/and CONFIG_UPROBE_EVENTS.\n");
1819 else { 1819 else {
1820 char sbuf[128]; 1820 char sbuf[STRERR_BUFSIZE];
1821 pr_warning("Failed to open kprobe events: %s.\n", 1821 pr_warning("Failed to open kprobe events: %s.\n",
1822 strerror_r(-kerr, sbuf, sizeof(sbuf))); 1822 strerror_r(-kerr, sbuf, sizeof(sbuf)));
1823 pr_warning("Failed to open uprobe events: %s.\n", 1823 pr_warning("Failed to open uprobe events: %s.\n",
@@ -2038,6 +2038,7 @@ static int write_probe_trace_event(int fd, struct probe_trace_event *tev)
2038{ 2038{
2039 int ret = 0; 2039 int ret = 0;
2040 char *buf = synthesize_probe_trace_command(tev); 2040 char *buf = synthesize_probe_trace_command(tev);
2041 char sbuf[STRERR_BUFSIZE];
2041 2042
2042 if (!buf) { 2043 if (!buf) {
2043 pr_debug("Failed to synthesize probe trace event.\n"); 2044 pr_debug("Failed to synthesize probe trace event.\n");
@@ -2049,7 +2050,7 @@ static int write_probe_trace_event(int fd, struct probe_trace_event *tev)
2049 ret = write(fd, buf, strlen(buf)); 2050 ret = write(fd, buf, strlen(buf));
2050 if (ret <= 0) 2051 if (ret <= 0)
2051 pr_warning("Failed to write event: %s\n", 2052 pr_warning("Failed to write event: %s\n",
2052 strerror(errno)); 2053 strerror_r(errno, sbuf, sizeof(sbuf)));
2053 } 2054 }
2054 free(buf); 2055 free(buf);
2055 return ret; 2056 return ret;
@@ -2063,7 +2064,7 @@ static int get_new_event_name(char *buf, size_t len, const char *base,
2063 /* Try no suffix */ 2064 /* Try no suffix */
2064 ret = e_snprintf(buf, len, "%s", base); 2065 ret = e_snprintf(buf, len, "%s", base);
2065 if (ret < 0) { 2066 if (ret < 0) {
2066 pr_debug("snprintf() failed: %s\n", strerror(-ret)); 2067 pr_debug("snprintf() failed: %d\n", ret);
2067 return ret; 2068 return ret;
2068 } 2069 }
2069 if (!strlist__has_entry(namelist, buf)) 2070 if (!strlist__has_entry(namelist, buf))
@@ -2079,7 +2080,7 @@ static int get_new_event_name(char *buf, size_t len, const char *base,
2079 for (i = 1; i < MAX_EVENT_INDEX; i++) { 2080 for (i = 1; i < MAX_EVENT_INDEX; i++) {
2080 ret = e_snprintf(buf, len, "%s_%d", base, i); 2081 ret = e_snprintf(buf, len, "%s_%d", base, i);
2081 if (ret < 0) { 2082 if (ret < 0) {
2082 pr_debug("snprintf() failed: %s\n", strerror(-ret)); 2083 pr_debug("snprintf() failed: %d\n", ret);
2083 return ret; 2084 return ret;
2084 } 2085 }
2085 if (!strlist__has_entry(namelist, buf)) 2086 if (!strlist__has_entry(namelist, buf))
@@ -2444,7 +2445,8 @@ static int __del_trace_probe_event(int fd, struct str_node *ent)
2444 printf("Removed event: %s\n", ent->s); 2445 printf("Removed event: %s\n", ent->s);
2445 return 0; 2446 return 0;
2446error: 2447error:
2447 pr_warning("Failed to delete event: %s\n", strerror(-ret)); 2448 pr_warning("Failed to delete event: %s\n",
2449 strerror_r(-ret, buf, sizeof(buf)));
2448 return ret; 2450 return ret;
2449} 2451}
2450 2452
diff --git a/tools/perf/util/probe-finder.c b/tools/perf/util/probe-finder.c
index dca9145d704c..9c593561aa71 100644
--- a/tools/perf/util/probe-finder.c
+++ b/tools/perf/util/probe-finder.c
@@ -281,6 +281,7 @@ static int convert_variable_type(Dwarf_Die *vr_die,
281 struct probe_trace_arg_ref **ref_ptr = &tvar->ref; 281 struct probe_trace_arg_ref **ref_ptr = &tvar->ref;
282 Dwarf_Die type; 282 Dwarf_Die type;
283 char buf[16]; 283 char buf[16];
284 char sbuf[STRERR_BUFSIZE];
284 int bsize, boffs, total; 285 int bsize, boffs, total;
285 int ret; 286 int ret;
286 287
@@ -367,7 +368,7 @@ formatted:
367 if (ret >= 16) 368 if (ret >= 16)
368 ret = -E2BIG; 369 ret = -E2BIG;
369 pr_warning("Failed to convert variable type: %s\n", 370 pr_warning("Failed to convert variable type: %s\n",
370 strerror(-ret)); 371 strerror_r(-ret, sbuf, sizeof(sbuf)));
371 return ret; 372 return ret;
372 } 373 }
373 tvar->type = strdup(buf); 374 tvar->type = strdup(buf);
@@ -779,10 +780,12 @@ static int find_lazy_match_lines(struct intlist *list,
779 size_t line_len; 780 size_t line_len;
780 ssize_t len; 781 ssize_t len;
781 int count = 0, linenum = 1; 782 int count = 0, linenum = 1;
783 char sbuf[STRERR_BUFSIZE];
782 784
783 fp = fopen(fname, "r"); 785 fp = fopen(fname, "r");
784 if (!fp) { 786 if (!fp) {
785 pr_warning("Failed to open %s: %s\n", fname, strerror(errno)); 787 pr_warning("Failed to open %s: %s\n", fname,
788 strerror_r(errno, sbuf, sizeof(sbuf)));
786 return -errno; 789 return -errno;
787 } 790 }
788 791