summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
authorAl Viro <viro@ZenIV.linux.org.uk>2005-09-11 20:14:07 -0700
committerDavid S. Miller <davem@davemloft.net>2005-09-11 20:14:07 -0700
commit7caaeabb17758295edff9703c18a840073c5b8f4 (patch)
treea33a4bcc77be6077fd8b787380bf13a38828d211 /scripts
parent357d596bd552ad157a906289ab13ea6ba7e66e3d (diff)
downloadlinux-7caaeabb17758295edff9703c18a840073c5b8f4.tar.gz
[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