Commit d2ba3b17 authored by Helge Deller's avatar Helge Deller

parisc: Fix module loading error with JUMP_LABEL feature

Commit 62217beb ("parisc: Add static branch and JUMP_LABEL feature") missed
to add code to handle PCREL64 relocations which are generated when creating a
jump label on a 64-bit kernel.

This patch fixes module load errors like this one:
# modprobe -v ipv6
insmod /lib/modules/5.2.0-rc1-JeR/kernel/net/ipv6/ipv6.ko
modprobe: ERROR: could not insert 'ipv6': Exec format error
dmesg reports:
module ipv6: Unknown relocation: 72
Reported-by: default avatarJeroen Roovers <jer@gentoo.org>
Tested-by: default avatarJeroen Roovers <jer@gentoo.org>
Fixes: 62217beb ("parisc: Add static branch and JUMP_LABEL feature")
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 79c3ba32
...@@ -786,6 +786,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs, ...@@ -786,6 +786,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
/* 32-bit PC relative address */ /* 32-bit PC relative address */
*loc = val - dot - 8 + addend; *loc = val - dot - 8 + addend;
break; break;
case R_PARISC_PCREL64:
/* 64-bit PC relative address */
*loc64 = val - dot - 8 + addend;
break;
case R_PARISC_DIR64: case R_PARISC_DIR64:
/* 64-bit effective address */ /* 64-bit effective address */
*loc64 = val + addend; *loc64 = val + addend;
......
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