powerpc/module: Add support for R_PPC64_REL32 relocations
authorMichael Ellerman <mpe@ellerman.id.au>
Wed, 26 Oct 2016 03:51:12 +0000 (14:51 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 14 Nov 2016 00:11:51 +0000 (11:11 +1100)
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>
arch/powerpc/kernel/module_64.c

index 183368e008cf362a3925b0b4e1c308e67a9cb2d7..bb1807184bad5da5f9b65ce69087184e67534c03 100644 (file)
@@ -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.