diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2016-10-26 06:51:12 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-11-14 03:11:51 +0300 |
commit | 9f751b82b491d06c6438066b511d44fa4cc49168 (patch) | |
tree | 32ec77c02b39b1448cf3f30629b8b420855b8c0a /arch/powerpc/kernel/module_64.c | |
parent | e3f2c6c39371c0e67c7fd6ebcb8b74ca27ce95d7 (diff) | |
download | linux-9f751b82b491d06c6438066b511d44fa4cc49168.tar.xz |
powerpc/module: Add support for R_PPC64_REL32 relocations
We haven't seen these before, but the soon to be merged relative
exception tables support causes them to be generated.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/module_64.c')
-rw-r--r-- | arch/powerpc/kernel/module_64.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c index 183368e008cf..bb1807184bad 100644 --- a/arch/powerpc/kernel/module_64.c +++ b/arch/powerpc/kernel/module_64.c @@ -652,6 +652,11 @@ int apply_relocate_add(Elf64_Shdr *sechdrs, *location = value - (unsigned long)location; break; + case R_PPC64_REL32: + /* 32 bits relative (used by relative exception tables) */ + *(u32 *)location = value - (unsigned long)location; + break; + case R_PPC64_TOCSAVE: /* * Marker reloc indicates we don't have to save r2. |