modpost: error out if addend_*_rel() is not implemented for REL arch

The section mismatch check relies on the relocation entries.

For REL, the addend value is implicit, so we need some code to compute
it. Currently, EM_386, EM_ARM, and EM_MIPS are supported. This commit
makes sure we covered all the cases.

I believe the other architectures use RELA, where the explicit r_addend
field exists.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
Masahiro Yamada 2023-05-12 01:24:22 +09:00
parent 81d362732b
commit 64f140417d

View File

@ -1628,6 +1628,8 @@ static void section_rel(const char *modname, struct elf_info *elf,
if (addend_mips_rel(elf, sechdr, &r))
continue;
break;
default:
fatal("Please add code to calculate addend for this architecture\n");
}
sym = elf->symtab_start + r_sym;
/* Skip special sections */