perf tools: Move build_id__sprintf into build-id object
Moving build_id__sprintf function into build-id object. Signed-off-by: Jiri Olsa <jolsa@redhat.com> Reviewed-by: Namhyung Kim <namhyung@kernel.org> Tested-by: Namhyung Kim <namhyung@kernel.org> Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1351372712-21104-2-git-send-email-jolsa@redhat.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
9175ce1f12
commit
ebb296c276
|
@ -13,7 +13,7 @@
|
||||||
#include "util/header.h"
|
#include "util/header.h"
|
||||||
#include "util/parse-options.h"
|
#include "util/parse-options.h"
|
||||||
#include "util/strlist.h"
|
#include "util/strlist.h"
|
||||||
#include "util/symbol.h"
|
#include "util/build-id.h"
|
||||||
|
|
||||||
static int build_id_cache__add_file(const char *filename, const char *debugdir)
|
static int build_id_cache__add_file(const char *filename, const char *debugdir)
|
||||||
{
|
{
|
||||||
|
|
|
@ -70,6 +70,21 @@ struct perf_tool build_id__mark_dso_hit_ops = {
|
||||||
.build_id = perf_event__process_build_id,
|
.build_id = perf_event__process_build_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int build_id__sprintf(const u8 *build_id, int len, char *bf)
|
||||||
|
{
|
||||||
|
char *bid = bf;
|
||||||
|
const u8 *raw = build_id;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < len; ++i) {
|
||||||
|
sprintf(bid, "%02x", *raw);
|
||||||
|
++raw;
|
||||||
|
bid += 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return raw - build_id;
|
||||||
|
}
|
||||||
|
|
||||||
char *dso__build_id_filename(struct dso *self, char *bf, size_t size)
|
char *dso__build_id_filename(struct dso *self, char *bf, size_t size)
|
||||||
{
|
{
|
||||||
char build_id_hex[BUILD_ID_SIZE * 2 + 1];
|
char build_id_hex[BUILD_ID_SIZE * 2 + 1];
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
extern struct perf_tool build_id__mark_dso_hit_ops;
|
extern struct perf_tool build_id__mark_dso_hit_ops;
|
||||||
|
|
||||||
|
int build_id__sprintf(const u8 *build_id, int len, char *bf);
|
||||||
char *dso__build_id_filename(struct dso *self, char *bf, size_t size);
|
char *dso__build_id_filename(struct dso *self, char *bf, size_t size);
|
||||||
|
|
||||||
int build_id__mark_dso_hit(struct perf_tool *tool, union perf_event *event,
|
int build_id__mark_dso_hit(struct perf_tool *tool, union perf_event *event,
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include "pmu.h"
|
#include "pmu.h"
|
||||||
#include "vdso.h"
|
#include "vdso.h"
|
||||||
#include "strbuf.h"
|
#include "strbuf.h"
|
||||||
|
#include "build-id.h"
|
||||||
|
|
||||||
static bool no_buildid_cache = false;
|
static bool no_buildid_cache = false;
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#include "thread.h"
|
#include "thread.h"
|
||||||
#include "strlist.h"
|
#include "strlist.h"
|
||||||
#include "vdso.h"
|
#include "vdso.h"
|
||||||
|
#include "build-id.h"
|
||||||
|
|
||||||
const char *map_type__name[MAP__NR_TYPES] = {
|
const char *map_type__name[MAP__NR_TYPES] = {
|
||||||
[MAP__FUNCTION] = "Functions",
|
[MAP__FUNCTION] = "Functions",
|
||||||
|
|
|
@ -504,21 +504,6 @@ void dso__sort_by_name(struct dso *dso, enum map_type type)
|
||||||
&dso->symbols[type]);
|
&dso->symbols[type]);
|
||||||
}
|
}
|
||||||
|
|
||||||
int build_id__sprintf(const u8 *build_id, int len, char *bf)
|
|
||||||
{
|
|
||||||
char *bid = bf;
|
|
||||||
const u8 *raw = build_id;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < len; ++i) {
|
|
||||||
sprintf(bid, "%02x", *raw);
|
|
||||||
++raw;
|
|
||||||
bid += 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
return raw - build_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t dso__fprintf_buildid(struct dso *dso, FILE *fp)
|
size_t dso__fprintf_buildid(struct dso *dso, FILE *fp)
|
||||||
{
|
{
|
||||||
char sbuild_id[BUILD_ID_SIZE * 2 + 1];
|
char sbuild_id[BUILD_ID_SIZE * 2 + 1];
|
||||||
|
|
|
@ -338,7 +338,6 @@ struct symbol *dso__find_symbol_by_name(struct dso *dso, enum map_type type,
|
||||||
int filename__read_build_id(const char *filename, void *bf, size_t size);
|
int filename__read_build_id(const char *filename, void *bf, size_t size);
|
||||||
int sysfs__read_build_id(const char *filename, void *bf, size_t size);
|
int sysfs__read_build_id(const char *filename, void *bf, size_t size);
|
||||||
bool __dsos__read_build_ids(struct list_head *head, bool with_hits);
|
bool __dsos__read_build_ids(struct list_head *head, bool with_hits);
|
||||||
int build_id__sprintf(const u8 *build_id, int len, char *bf);
|
|
||||||
int kallsyms__parse(const char *filename, void *arg,
|
int kallsyms__parse(const char *filename, void *arg,
|
||||||
int (*process_symbol)(void *arg, const char *name,
|
int (*process_symbol)(void *arg, const char *name,
|
||||||
char type, u64 start));
|
char type, u64 start));
|
||||||
|
|
Reference in New Issue