LoongArch: Add support for 64_PCREL relocation type
authorTiezhu Yang <yangtiezhu@loongson.cn>
Wed, 27 Sep 2023 08:19:13 +0000 (16:19 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Wed, 27 Sep 2023 08:19:13 +0000 (16:19 +0800)
commitb1dc55a3d6a86cc2c1ae664ad7280bff4c0fc28f
tree2bf80fca659895b93a0eaf379eef3c4fbc247b56
parentc1c2ce2d3bf903c50f3da7346d394127ffcc93ac
LoongArch: Add support for 64_PCREL relocation type

When build and update kernel with the latest upstream binutils and
loongson3_defconfig, module loader fails with:

  kmod: zsmalloc: Unknown relocation type 109
  kmod: fuse: Unknown relocation type 109
  kmod: fuse: Unknown relocation type 109
  kmod: radeon: Unknown relocation type 109
  kmod: nf_tables: Unknown relocation type 109
  kmod: nf_tables: Unknown relocation type 109

This is because the latest upstream binutils replaces a pair of ADD64
and SUB64 with 64_PCREL, so add support for 64_PCREL relocation type.

Link: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ecb802d02eeb
Cc: <stable@vger.kernel.org>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/kernel/module.c