summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/module.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/module.c b/kernel/module.c
index dbb503b729ee..b867bf84c5f1 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -974,6 +974,11 @@ static int simplify_symbols(Elf_Shdr *sechdrs,
/* Ok if weak. */
if (ELF_ST_BIND(sym[i].st_info) == STB_WEAK)
break;
+#if defined(CONFIG_SPARC32) || defined(CONFIG_SPARC64)
+ /* Ok if Sparc register directive. */
+ if (ELF_ST_TYPE(sym[i].st_info) == STT_REGISTER)
+ break;
+#endif
printk(KERN_WARNING "%s: Unknown symbol %s\n",
mod->name, strtab + sym[i].st_name);