diff options
| author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-09-30 12:02:08 -0400 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-09-30 17:34:31 -0400 |
| commit | f845086a8ed49e657a750f87f85966d75c8a9645 (patch) | |
| tree | 6906bb7ff3aba3620ccd69e423101e403e63d436 /tools/lib | |
| parent | 8e947f1e84fd1588f66e5f2ea69c80647de72cd4 (diff) | |
tools lib symbol: Introduce kallsyms2elf_type
Map 't', 'T' (text, local, global), 'w' and 'W' (weak text, local,
global) as STT_FUNC, and the rest as STT_OBJECT
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-sbwcixulpc5v1xuxn3xvm0nn@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/lib')
| -rw-r--r-- | tools/lib/symbol/kallsyms.c | 6 | ||||
| -rw-r--r-- | tools/lib/symbol/kallsyms.h | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/tools/lib/symbol/kallsyms.c b/tools/lib/symbol/kallsyms.c index 18bc271a4bbc..5e431077fcd6 100644 --- a/tools/lib/symbol/kallsyms.c +++ b/tools/lib/symbol/kallsyms.c | |||
| @@ -2,6 +2,12 @@ | |||
| 2 | #include <stdio.h> | 2 | #include <stdio.h> |
| 3 | #include <stdlib.h> | 3 | #include <stdlib.h> |
| 4 | 4 | ||
| 5 | u8 kallsyms2elf_type(char type) | ||
| 6 | { | ||
| 7 | type = tolower(type); | ||
| 8 | return (type == 't' || type == 'w') ? STT_FUNC : STT_OBJECT; | ||
| 9 | } | ||
| 10 | |||
| 5 | int kallsyms__parse(const char *filename, void *arg, | 11 | int kallsyms__parse(const char *filename, void *arg, |
| 6 | int (*process_symbol)(void *arg, const char *name, | 12 | int (*process_symbol)(void *arg, const char *name, |
| 7 | char type, u64 start)) | 13 | char type, u64 start)) |
diff --git a/tools/lib/symbol/kallsyms.h b/tools/lib/symbol/kallsyms.h index bb86c5b76ee8..4071316a766e 100644 --- a/tools/lib/symbol/kallsyms.h +++ b/tools/lib/symbol/kallsyms.h | |||
| @@ -17,6 +17,8 @@ static inline u8 kallsyms2elf_binding(char type) | |||
| 17 | return isupper(type) ? STB_GLOBAL : STB_LOCAL; | 17 | return isupper(type) ? STB_GLOBAL : STB_LOCAL; |
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | u8 kallsyms2elf_type(char type); | ||
| 21 | |||
| 20 | int kallsyms__parse(const char *filename, void *arg, | 22 | int kallsyms__parse(const char *filename, void *arg, |
| 21 | int (*process_symbol)(void *arg, const char *name, | 23 | int (*process_symbol)(void *arg, const char *name, |
| 22 | char type, u64 start)); | 24 | char type, u64 start)); |
