diff options
author | Al Viro <viro@ZenIV.linux.org.uk> | 2005-09-11 20:14:07 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-09-11 20:14:07 -0700 |
commit | 7caaeabb17758295edff9703c18a840073c5b8f4 (patch) | |
tree | a33a4bcc77be6077fd8b787380bf13a38828d211 /scripts/mod | |
parent | 357d596bd552ad157a906289ab13ea6ba7e66e3d (diff) | |
download | lwn-7caaeabb17758295edff9703c18a840073c5b8f4.tar.gz lwn-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/mod')
-rw-r--r-- | scripts/mod/modpost.c | 6 |
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 |