perf kallsyms: Adopt hex2u64 from tools/perf/util/util.h

Just removing more stuff from tools/perf/, this is mostly used in the
kallsyms parsing and in places in perf where kallsyms is involved, so we
get it for free there.

With this we reduce a bit more util.h.

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-5mc1zg0jqdwgkn8c358kaba6@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent af41949d
...@@ -16,6 +16,19 @@ bool kallsyms__is_function(char symbol_type) ...@@ -16,6 +16,19 @@ bool kallsyms__is_function(char symbol_type)
return symbol_type == 'T' || symbol_type == 'W'; return symbol_type == 'T' || symbol_type == 'W';
} }
/*
* While we find nice hex chars, build a long_val.
* Return number of chars processed.
*/
int hex2u64(const char *ptr, u64 *long_val)
{
char *p;
*long_val = strtoull(ptr, &p, 16);
return p - ptr;
}
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))
......
...@@ -18,6 +18,8 @@ static inline u8 kallsyms2elf_binding(char type) ...@@ -18,6 +18,8 @@ static inline u8 kallsyms2elf_binding(char type)
return isupper(type) ? STB_GLOBAL : STB_LOCAL; return isupper(type) ? STB_GLOBAL : STB_LOCAL;
} }
int hex2u64(const char *ptr, u64 *long_val);
u8 kallsyms2elf_type(char type); u8 kallsyms2elf_type(char type);
bool kallsyms__is_function(char symbol_type); bool kallsyms__is_function(char symbol_type);
......
...@@ -434,19 +434,6 @@ size_t hex_width(u64 v) ...@@ -434,19 +434,6 @@ size_t hex_width(u64 v)
return n; return n;
} }
/*
* While we find nice hex chars, build a long_val.
* Return number of chars processed.
*/
int hex2u64(const char *ptr, u64 *long_val)
{
char *p;
*long_val = strtoull(ptr, &p, 16);
return p - ptr;
}
int perf_event_paranoid(void) int perf_event_paranoid(void)
{ {
int value; int value;
......
...@@ -43,7 +43,6 @@ ssize_t readn(int fd, void *buf, size_t n); ...@@ -43,7 +43,6 @@ ssize_t readn(int fd, void *buf, size_t n);
ssize_t writen(int fd, const void *buf, size_t n); ssize_t writen(int fd, const void *buf, size_t n);
size_t hex_width(u64 v); size_t hex_width(u64 v);
int hex2u64(const char *ptr, u64 *val);
extern unsigned int page_size; extern unsigned int page_size;
int __pure cacheline_size(void); int __pure cacheline_size(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment