perf tools: Move srcline definitions to separate header

Out of util.h into a new file, srcline.h

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-ludnlm4djqcdjziekzr4s3u9@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2017-04-17 16:30:49 -03:00
Родитель fea013928c
Коммит 632a5cabea
8 изменённых файлов: 40 добавлений и 27 удалений

Просмотреть файл

@ -19,6 +19,7 @@
#include "../ui.h"
#include "map.h"
#include "annotate.h"
#include "srcline.h"
#include "sane_ctype.h"

Просмотреть файл

@ -4,6 +4,7 @@
#include "../../util/hist.h"
#include "../../util/sort.h"
#include "../../util/evsel.h"
#include "../../util/srcline.h"
#include "../../util/sane_ctype.h"
static size_t callchain__fprintf_left_margin(FILE *fp, int left_margin)

Просмотреть файл

@ -8,6 +8,7 @@
#include "evlist.h"
#include "evsel.h"
#include "annotate.h"
#include "srcline.h"
#include "ui/progress.h"
#include <math.h>

Просмотреть файл

@ -16,6 +16,7 @@
#include "debug.h"
#include "machine.h"
#include <linux/string.h>
#include "srcline.h"
#include "unwind.h"
static void __maps__insert(struct maps *maps, struct map *map);

Просмотреть файл

@ -21,6 +21,7 @@
#include <subcmd/parse-options.h>
#include "parse-events.h"
#include "hist.h"
#include "srcline.h"
#include "thread.h"
extern regex_t parent_regex;

Просмотреть файл

@ -9,6 +9,7 @@
#include "util/util.h"
#include "util/debug.h"
#include "util/callchain.h"
#include "srcline.h"
#include "symbol.h"

34
tools/perf/util/srcline.h Normal file
Просмотреть файл

@ -0,0 +1,34 @@
#ifndef PERF_SRCLINE_H
#define PERF_SRCLINE_H
#include <linux/list.h>
#include <linux/types.h>
struct dso;
struct symbol;
extern bool srcline_full_filename;
char *get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
bool show_sym, bool show_addr);
char *__get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
bool show_sym, bool show_addr, bool unwind_inlines);
void free_srcline(char *srcline);
#define SRCLINE_UNKNOWN ((char *) "??:0")
struct inline_list {
char *filename;
char *funcname;
unsigned int line_nr;
struct list_head list;
};
struct inline_node {
u64 addr;
struct list_head val;
};
struct inline_node *dso__parse_addr_inlines(struct dso *dso, u64 addr);
void inline_node__delete(struct inline_node *node);
#endif /* PERF_SRCLINE_H */

Просмотреть файл

@ -144,8 +144,6 @@ struct parse_tag {
unsigned long parse_tag_value(const char *str, struct parse_tag *tags);
#define SRCLINE_UNKNOWN ((char *) "??:0")
static inline int path__join(char *bf, size_t size,
const char *path1, const char *path2)
{
@ -161,16 +159,6 @@ static inline int path__join3(char *bf, size_t size,
path2, path2[0] ? "/" : "", path3);
}
struct dso;
struct symbol;
extern bool srcline_full_filename;
char *get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
bool show_sym, bool show_addr);
char *__get_srcline(struct dso *dso, u64 addr, struct symbol *sym,
bool show_sym, bool show_addr, bool unwind_inlines);
void free_srcline(char *srcline);
int perf_event_paranoid(void);
void mem_bswap_64(void *src, int byte_size);
@ -221,19 +209,4 @@ int timestamp__scnprintf_usec(u64 timestamp, char *buf, size_t sz);
int unit_number__scnprintf(char *buf, size_t size, u64 n);
struct inline_list {
char *filename;
char *funcname;
unsigned int line_nr;
struct list_head list;
};
struct inline_node {
u64 addr;
struct list_head val;
};
struct inline_node *dso__parse_addr_inlines(struct dso *dso, u64 addr);
void inline_node__delete(struct inline_node *node);
#endif /* GIT_COMPAT_UTIL_H */