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

perf symbols: Constify dso->long_name

Same reason as for dso->short_name, it may point to a const string, and
in most places it is treated as const, i.e. it is just accessed for
using its contents as a key or to show it on reports.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-nf7mxf33zt5qw207pbxxryot@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

+14 -14
+1 -1
tools/perf/util/annotate.c
··· 900 900 * cache, or is just a kallsyms file, well, lets hope that this 901 901 * DSO is the same as when 'perf record' ran. 902 902 */ 903 - filename = dso->long_name; 903 + filename = (char *)dso->long_name; 904 904 snprintf(symfs_filename, sizeof(symfs_filename), "%s%s", 905 905 symbol_conf.symfs, filename); 906 906 free_filename = false;
+5 -5
tools/perf/util/dso.c
··· 67 67 68 68 case DSO_BINARY_TYPE__OPENEMBEDDED_DEBUGINFO: 69 69 { 70 - char *last_slash; 70 + const char *last_slash; 71 71 size_t len; 72 72 size_t dir_size; 73 73 ··· 386 386 return dso; 387 387 } 388 388 389 - void dso__set_long_name(struct dso *dso, char *name, bool name_allocated) 389 + void dso__set_long_name(struct dso *dso, const char *name, bool name_allocated) 390 390 { 391 391 if (name == NULL) 392 392 return; 393 393 394 394 if (dso->long_name_allocated) 395 - free(dso->long_name); 395 + free((char *)dso->long_name); 396 396 397 397 dso->long_name = name; 398 398 dso->long_name_len = strlen(name); ··· 414 414 415 415 static void dso__set_basename(struct dso *dso) 416 416 { 417 - dso__set_short_name(dso, basename(dso->long_name), false); 417 + dso__set_short_name(dso, basename((char *)dso->long_name), false); 418 418 } 419 419 420 420 int dso__name_len(const struct dso *dso) ··· 478 478 if (dso->short_name_allocated) 479 479 free((char *)dso->short_name); 480 480 if (dso->long_name_allocated) 481 - free(dso->long_name); 481 + free((char *)dso->long_name); 482 482 dso_cache__free(&dso->cache); 483 483 dso__free_a2l(dso); 484 484 free(dso->symsrc_filename);
+2 -2
tools/perf/util/dso.h
··· 96 96 u8 rel; 97 97 u8 build_id[BUILD_ID_SIZE]; 98 98 const char *short_name; 99 - char *long_name; 99 + const char *long_name; 100 100 u16 long_name_len; 101 101 u16 short_name_len; 102 102 char name[0]; ··· 111 111 void dso__delete(struct dso *dso); 112 112 113 113 void dso__set_short_name(struct dso *dso, const char *name, bool name_allocated); 114 - void dso__set_long_name(struct dso *dso, char *name, bool name_allocated); 114 + void dso__set_long_name(struct dso *dso, const char *name, bool name_allocated); 115 115 116 116 int dso__name_len(const struct dso *dso); 117 117
+3 -3
tools/perf/util/header.c
··· 177 177 continue; \ 178 178 else 179 179 180 - static int write_buildid(char *name, size_t name_len, u8 *build_id, 180 + static int write_buildid(const char *name, size_t name_len, u8 *build_id, 181 181 pid_t pid, u16 misc, int fd) 182 182 { 183 183 int err; ··· 209 209 210 210 dsos__for_each_with_build_id(pos, head) { 211 211 int err; 212 - char *name; 212 + const char *name; 213 213 size_t name_len; 214 214 215 215 if (!pos->hit) ··· 387 387 { 388 388 bool is_kallsyms = dso->kernel && dso->long_name[0] != '/'; 389 389 bool is_vdso = is_vdso_map(dso->short_name); 390 - char *name = dso->long_name; 390 + const char *name = dso->long_name; 391 391 char nm[PATH_MAX]; 392 392 393 393 if (dso__is_kcore(dso)) {
+1 -1
tools/perf/util/srcline.c
··· 255 255 char *file = NULL; 256 256 unsigned line = 0; 257 257 char *srcline; 258 - char *dso_name; 258 + const char *dso_name; 259 259 260 260 if (!dso->has_srcline) 261 261 return SRCLINE_UNKNOWN;
+2 -2
tools/perf/util/symbol.c
··· 1438 1438 dso->data_type = DSO_BINARY_TYPE__GUEST_VMLINUX; 1439 1439 else 1440 1440 dso->data_type = DSO_BINARY_TYPE__VMLINUX; 1441 - dso__set_long_name(dso, (char *)vmlinux, vmlinux_allocated); 1441 + dso__set_long_name(dso, vmlinux, vmlinux_allocated); 1442 1442 dso__set_loaded(dso, map->type); 1443 1443 pr_debug("Using %s for symbols\n", symfs_vmlinux); 1444 1444 } ··· 1630 1630 free(kallsyms_allocated_filename); 1631 1631 1632 1632 if (err > 0 && !dso__is_kcore(dso)) { 1633 - dso__set_long_name(dso, strdup("[kernel.kallsyms]"), true); 1633 + dso__set_long_name(dso, "[kernel.kallsyms]", false); 1634 1634 map__fixup_start(map); 1635 1635 map__fixup_end(map); 1636 1636 }