perf script: Move map__fprintf_srccode() to near its only user
authorArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 22 Nov 2019 15:39:06 +0000 (12:39 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 26 Nov 2019 14:07:45 +0000 (11:07 -0300)
No need to have it elsewhere.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lkml.kernel.org/n/tip-8cw846pudpxo0xdkvi9qnvrh@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-script.c
tools/perf/util/map.c
tools/perf/util/map.h

index f86c5cc..7b2f092 100644 (file)
@@ -932,6 +932,48 @@ static int grab_bb(u8 *buffer, u64 start, u64 end,
        return len;
 }
 
+static int map__fprintf_srccode(struct map *map, u64 addr, FILE *fp, struct srccode_state *state)
+{
+       char *srcfile;
+       int ret = 0;
+       unsigned line;
+       int len;
+       char *srccode;
+
+       if (!map || !map->dso)
+               return 0;
+       srcfile = get_srcline_split(map->dso,
+                                   map__rip_2objdump(map, addr),
+                                   &line);
+       if (!srcfile)
+               return 0;
+
+       /* Avoid redundant printing */
+       if (state &&
+           state->srcfile &&
+           !strcmp(state->srcfile, srcfile) &&
+           state->line == line) {
+               free(srcfile);
+               return 0;
+       }
+
+       srccode = find_sourceline(srcfile, line, &len);
+       if (!srccode)
+               goto out_free_line;
+
+       ret = fprintf(fp, "|%-8d %.*s", line, len, srccode);
+
+       if (state) {
+               state->srcfile = srcfile;
+               state->line = line;
+       }
+       return ret;
+
+out_free_line:
+       free(srcfile);
+       return ret;
+}
+
 static int print_srccode(struct thread *thread, u8 cpumode, uint64_t addr)
 {
        struct addr_location al;
index 744bfba..b59944e 100644 (file)
@@ -433,51 +433,6 @@ int map__fprintf_srcline(struct map *map, u64 addr, const char *prefix,
        return ret;
 }
 
-int map__fprintf_srccode(struct map *map, u64 addr,
-                        FILE *fp,
-                        struct srccode_state *state)
-{
-       char *srcfile;
-       int ret = 0;
-       unsigned line;
-       int len;
-       char *srccode;
-
-       if (!map || !map->dso)
-               return 0;
-       srcfile = get_srcline_split(map->dso,
-                                   map__rip_2objdump(map, addr),
-                                   &line);
-       if (!srcfile)
-               return 0;
-
-       /* Avoid redundant printing */
-       if (state &&
-           state->srcfile &&
-           !strcmp(state->srcfile, srcfile) &&
-           state->line == line) {
-               free(srcfile);
-               return 0;
-       }
-
-       srccode = find_sourceline(srcfile, line, &len);
-       if (!srccode)
-               goto out_free_line;
-
-       ret = fprintf(fp, "|%-8d %.*s", line, len, srccode);
-
-       if (state) {
-               state->srcfile = srcfile;
-               state->line = line;
-       }
-       return ret;
-
-out_free_line:
-       free(srcfile);
-       return ret;
-}
-
-
 void srccode_state_free(struct srccode_state *state)
 {
        zfree(&state->srcfile);
index 5e88998..1f110b5 100644 (file)
@@ -138,11 +138,6 @@ char *map__srcline(struct map *map, u64 addr, struct symbol *sym);
 int map__fprintf_srcline(struct map *map, u64 addr, const char *prefix,
                         FILE *fp);
 
-struct srccode_state;
-
-int map__fprintf_srccode(struct map *map, u64 addr,
-                        FILE *fp, struct srccode_state *state);
-
 int map__load(struct map *map);
 struct symbol *map__find_symbol(struct map *map, u64 addr);
 struct symbol *map__find_symbol_by_name(struct map *map, const char *name);