Commit 54f05dc4 authored by David S. Miller's avatar David S. Miller

[SPARC64]: Support OLO10 relocations for modules.

parent afa82d46
...@@ -231,6 +231,12 @@ int apply_relocate_add(Elf64_Shdr *sechdrs, ...@@ -231,6 +231,12 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
((v >> 10) & 0x3fffff); ((v >> 10) & 0x3fffff);
break; break;
case R_SPARC_OLO10:
*loc32 = (*loc32 & ~0x1fff) |
(((v & 0x3ff) +
(ELF64_R_TYPE(rel[i].r_info) >> 8))
& 0x1fff);
default: default:
printk(KERN_ERR "module %s: Unknown relocation: %x\n", printk(KERN_ERR "module %s: Unknown relocation: %x\n",
me->name, me->name,
......
...@@ -274,6 +274,10 @@ typedef struct { ...@@ -274,6 +274,10 @@ typedef struct {
#define R_MIPS_LOVENDOR 100 #define R_MIPS_LOVENDOR 100
#define R_MIPS_HIVENDOR 127 #define R_MIPS_HIVENDOR 127
/*
* Sparc section types
*/
#define STT_REGISTER 13
/* /*
* Sparc ELF relocation types * Sparc ELF relocation types
...@@ -311,6 +315,7 @@ typedef struct { ...@@ -311,6 +315,7 @@ typedef struct {
#define R_SPARC_10 30 #define R_SPARC_10 30
#define R_SPARC_11 31 #define R_SPARC_11 31
#define R_SPARC_64 32 #define R_SPARC_64 32
#define R_SPARC_OLO10 33
#define R_SPARC_WDISP16 40 #define R_SPARC_WDISP16 40
#define R_SPARC_WDISP19 41 #define R_SPARC_WDISP19 41
#define R_SPARC_7 43 #define R_SPARC_7 43
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment