powerpc: modules implement R_PPC64_TOCSAVE relocation.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
committed by
Anton Blanchard
parent
0e60e46e2a
commit
d247da0a8e
@@ -291,9 +291,12 @@ do { \
|
|||||||
#define R_PPC64_DTPREL16_HIGHERA 104 /* half16 (sym+add)@dtprel@highera */
|
#define R_PPC64_DTPREL16_HIGHERA 104 /* half16 (sym+add)@dtprel@highera */
|
||||||
#define R_PPC64_DTPREL16_HIGHEST 105 /* half16 (sym+add)@dtprel@highest */
|
#define R_PPC64_DTPREL16_HIGHEST 105 /* half16 (sym+add)@dtprel@highest */
|
||||||
#define R_PPC64_DTPREL16_HIGHESTA 106 /* half16 (sym+add)@dtprel@highesta */
|
#define R_PPC64_DTPREL16_HIGHESTA 106 /* half16 (sym+add)@dtprel@highesta */
|
||||||
|
#define R_PPC64_TLSGD 107
|
||||||
|
#define R_PPC64_TLSLD 108
|
||||||
|
#define R_PPC64_TOCSAVE 109
|
||||||
|
|
||||||
/* Keep this the last entry. */
|
/* Keep this the last entry. */
|
||||||
#define R_PPC64_NUM 107
|
#define R_PPC64_NUM 110
|
||||||
|
|
||||||
/* There's actually a third entry here, but it's unused */
|
/* There's actually a third entry here, but it's unused */
|
||||||
struct ppc64_opd_entry
|
struct ppc64_opd_entry
|
||||||
|
|||||||
@@ -454,6 +454,14 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
|
|||||||
*location = value - (unsigned long)location;
|
*location = value - (unsigned long)location;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case R_PPC64_TOCSAVE:
|
||||||
|
/*
|
||||||
|
* Marker reloc indicates we don't have to save r2.
|
||||||
|
* That would only save us one instruction, so ignore
|
||||||
|
* it.
|
||||||
|
*/
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printk("%s: Unknown ADD relocation: %lu\n",
|
printk("%s: Unknown ADD relocation: %lu\n",
|
||||||
me->name,
|
me->name,
|
||||||
|
|||||||
Reference in New Issue
Block a user