summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKyle McMartin <kyle@redhat.com>2014-09-16 22:37:18 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2014-10-02 17:01:51 +0100
commit6c34f1f5424395994c125f8c68bed395920ecc58 (patch)
tree811e5d9f55355f74618b943d60c786eb715b4efa
parenta52ce121918382a4249d621cceb07c30e1c00fa2 (diff)
downloadop-kernel-dev-6c34f1f5424395994c125f8c68bed395920ecc58.zip
op-kernel-dev-6c34f1f5424395994c125f8c68bed395920ecc58.tar.gz
aarch64: filter $x from kallsyms
Similar to ARM, AArch64 is generating $x and $d syms... which isn't terribly helpful when looking at %pF output and the like. Filter those out in kallsyms, modpost and when looking at module symbols. Seems simplest since none of these check EM_ARM anyway, to just add it to the strchr used, rather than trying to make things overly complicated. initcall_debug improves: dmesg_before.txt: initcall $x+0x0/0x154 [sg] returned 0 after 26331 usecs dmesg_after.txt: initcall init_sg+0x0/0x154 [sg] returned 0 after 15461 usecs Signed-off-by: Kyle McMartin <kyle@redhat.com> Acked-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r--kernel/module.c2
-rw-r--r--scripts/kallsyms.c2
-rw-r--r--scripts/mod/modpost.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/kernel/module.c b/kernel/module.c
index 03214bd2..3d52936 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -3388,7 +3388,7 @@ static inline int is_arm_mapping_symbol(const char *str)
{
if (str[0] == '.' && str[1] == 'L')
return true;
- return str[0] == '$' && strchr("atd", str[1])
+ return str[0] == '$' && strchr("axtd", str[1])
&& (str[2] == '\0' || str[2] == '.');
}
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index dc7aa45..c6d33bd 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -84,7 +84,7 @@ static void usage(void)
*/
static inline int is_arm_mapping_symbol(const char *str)
{
- return str[0] == '$' && strchr("atd", str[1])
+ return str[0] == '$' && strchr("axtd", str[1])
&& (str[2] == '\0' || str[2] == '.');
}
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 091d905..3017ec2 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1146,7 +1146,7 @@ static Elf_Sym *find_elf_symbol(struct elf_info *elf, Elf64_Sword addr,
static inline int is_arm_mapping_symbol(const char *str)
{
- return str[0] == '$' && strchr("atd", str[1])
+ return str[0] == '$' && strchr("axtd", str[1])
&& (str[2] == '\0' || str[2] == '.');
}
OpenPOWER on IntegriCloud