summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorAl Viro <viro@ZenIV.linux.org.uk>2005-09-12 05:14:07 +0200
committerDavid S. Miller <davem@davemloft.net>2005-09-12 05:14:07 +0200
commit7caaeabb17758295edff9703c18a840073c5b8f4 (patch)
treea33a4bcc77be6077fd8b787380bf13a38828d211 /scripts
parentMerge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/li... (diff)
downloadlinux-7caaeabb17758295edff9703c18a840073c5b8f4.tar.xz
linux-7caaeabb17758295edff9703c18a840073c5b8f4.zip
[SPARC]: Fix dot-symbol exporting for good.
From: Al Viro <viro@ZenIV.linux.org.uk> Instead of playing all of these hand-coded assembler aliasing games, just translate symbol names in the name space ".sym" to "_Sym" at module load time. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/mod/modpost.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 09ffca54b373..3bed09e625c0 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -370,6 +370,12 @@ handle_modversions(struct module *mod, struct elf_info *info,
/* Ignore register directives. */
if (ELF_ST_TYPE(sym->st_info) == STT_SPARC_REGISTER)
break;
+ if (symname[0] == '.') {
+ char *munged = strdup(symname);
+ munged[0] = '_';
+ munged[1] = toupper(munged[1]);
+ symname = munged;
+ }
}
#endif