git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
arch
/
sparc
/
kernel
/
module.c
diff --git
a/arch/sparc/kernel/module.c
b/arch/sparc/kernel/module.c
index
7931d6f
..
598682f
100644
(file)
--- a/
arch/sparc/kernel/module.c
+++ b/
arch/sparc/kernel/module.c
@@
-10,6
+10,7
@@
#include <linux/vmalloc.h>
#include <linux/fs.h>
#include <linux/string.h>
#include <linux/vmalloc.h>
#include <linux/fs.h>
#include <linux/string.h>
+#include <linux/ctype.h>
void *module_alloc(unsigned long size)
{
void *module_alloc(unsigned long size)
{
@@
-37,7
+38,7
@@
void module_free(struct module *mod, void *module_region)
}
/* Make generic code ignore STT_REGISTER dummy undefined symbols,
}
/* Make generic code ignore STT_REGISTER dummy undefined symbols,
- * and replace references to .func with
func as in ppc64's dedotify.
+ * and replace references to .func with
_Func
*/
int module_frob_arch_sections(Elf_Ehdr *hdr,
Elf_Shdr *sechdrs,
*/
int module_frob_arch_sections(Elf_Ehdr *hdr,
Elf_Shdr *sechdrs,
@@
-64,8
+65,10
@@
int module_frob_arch_sections(Elf_Ehdr *hdr,
sym[i].st_shndx = SHN_ABS;
else {
char *name = strtab + sym[i].st_name;
sym[i].st_shndx = SHN_ABS;
else {
char *name = strtab + sym[i].st_name;
- if (name[0] == '.')
- memmove(name, name+1, strlen(name));
+ if (name[0] == '.') {
+ name[0] = '_';
+ name[1] = toupper(name[1]);
+ }
}
}
}
}
}
}
@@
-110,6
+113,7
@@
int apply_relocate_add(Elf32_Shdr *sechdrs,
switch (ELF32_R_TYPE(rel[i].r_info)) {
case R_SPARC_32:
switch (ELF32_R_TYPE(rel[i].r_info)) {
case R_SPARC_32:
+ case R_SPARC_UA32:
location[0] = v >> 24;
location[1] = v >> 16;
location[2] = v >> 8;
location[0] = v >> 24;
location[1] = v >> 16;
location[2] = v >> 8;