summaryrefslogtreecommitdiffstats
path: root/kernel/tools/lib/symbol
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/tools/lib/symbol')
-rw-r--r--kernel/tools/lib/symbol/kallsyms.c6
-rw-r--r--kernel/tools/lib/symbol/kallsyms.h4
2 files changed, 9 insertions, 1 deletions
diff --git a/kernel/tools/lib/symbol/kallsyms.c b/kernel/tools/lib/symbol/kallsyms.c
index 18bc271a4..5e431077f 100644
--- a/kernel/tools/lib/symbol/kallsyms.c
+++ b/kernel/tools/lib/symbol/kallsyms.c
@@ -2,6 +2,12 @@
#include <stdio.h>
#include <stdlib.h>
+u8 kallsyms2elf_type(char type)
+{
+ type = tolower(type);
+ return (type == 't' || type == 'w') ? STT_FUNC : STT_OBJECT;
+}
+
int kallsyms__parse(const char *filename, void *arg,
int (*process_symbol)(void *arg, const char *name,
char type, u64 start))
diff --git a/kernel/tools/lib/symbol/kallsyms.h b/kernel/tools/lib/symbol/kallsyms.h
index 6084f5e18..4071316a7 100644
--- a/kernel/tools/lib/symbol/kallsyms.h
+++ b/kernel/tools/lib/symbol/kallsyms.h
@@ -9,7 +9,7 @@
#define KSYM_NAME_LEN 256
#endif
-static inline u8 kallsyms2elf_type(char type)
+static inline u8 kallsyms2elf_binding(char type)
{
if (type == 'W')
return STB_WEAK;
@@ -17,6 +17,8 @@ static inline u8 kallsyms2elf_type(char type)
return isupper(type) ? STB_GLOBAL : STB_LOCAL;
}
+u8 kallsyms2elf_type(char type);
+
int kallsyms__parse(const char *filename, void *arg,
int (*process_symbol)(void *arg, const char *name,
char type, u64 start));