diff options
Diffstat (limited to 'arch/sparc/kernel/module.c')
-rw-r--r-- | arch/sparc/kernel/module.c | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/arch/sparc/kernel/module.c b/arch/sparc/kernel/module.c index 276359e1ff56..15e0a1693976 100644 --- a/arch/sparc/kernel/module.c +++ b/arch/sparc/kernel/module.c | |||
@@ -32,26 +32,11 @@ static void *module_map(unsigned long size) | |||
32 | GFP_KERNEL, PAGE_KERNEL, -1, | 32 | GFP_KERNEL, PAGE_KERNEL, -1, |
33 | __builtin_return_address(0)); | 33 | __builtin_return_address(0)); |
34 | } | 34 | } |
35 | |||
36 | static char *dot2underscore(char *name) | ||
37 | { | ||
38 | return name; | ||
39 | } | ||
40 | #else | 35 | #else |
41 | static void *module_map(unsigned long size) | 36 | static void *module_map(unsigned long size) |
42 | { | 37 | { |
43 | return vmalloc(size); | 38 | return vmalloc(size); |
44 | } | 39 | } |
45 | |||
46 | /* Replace references to .func with _Func */ | ||
47 | static char *dot2underscore(char *name) | ||
48 | { | ||
49 | if (name[0] == '.') { | ||
50 | name[0] = '_'; | ||
51 | name[1] = toupper(name[1]); | ||
52 | } | ||
53 | return name; | ||
54 | } | ||
55 | #endif /* CONFIG_SPARC64 */ | 40 | #endif /* CONFIG_SPARC64 */ |
56 | 41 | ||
57 | void *module_alloc(unsigned long size) | 42 | void *module_alloc(unsigned long size) |
@@ -93,12 +78,8 @@ int module_frob_arch_sections(Elf_Ehdr *hdr, | |||
93 | 78 | ||
94 | for (i = 1; i < sechdrs[symidx].sh_size / sizeof(Elf_Sym); i++) { | 79 | for (i = 1; i < sechdrs[symidx].sh_size / sizeof(Elf_Sym); i++) { |
95 | if (sym[i].st_shndx == SHN_UNDEF) { | 80 | if (sym[i].st_shndx == SHN_UNDEF) { |
96 | if (ELF_ST_TYPE(sym[i].st_info) == STT_REGISTER) { | 81 | if (ELF_ST_TYPE(sym[i].st_info) == STT_REGISTER) |
97 | sym[i].st_shndx = SHN_ABS; | 82 | sym[i].st_shndx = SHN_ABS; |
98 | } else { | ||
99 | char *name = strtab + sym[i].st_name; | ||
100 | dot2underscore(name); | ||
101 | } | ||
102 | } | 83 | } |
103 | } | 84 | } |
104 | return 0; | 85 | return 0; |