Message ID | 20230511162423.1922133-1-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | modpost: error out if addend_*_rel() is not implemented for REL arch | expand |
On Fri, May 12, 2023 at 1:25 AM Masahiro Yamada <masahiroy@kernel.org> wrote: > > 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> > --- Applied to linux-kbuild. > > scripts/mod/modpost.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c > index 95da374cc534..44309d463a49 100644 > --- a/scripts/mod/modpost.c > +++ b/scripts/mod/modpost.c > @@ -1442,6 +1442,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 */ > -- > 2.39.2 >
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 95da374cc534..44309d463a49 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -1442,6 +1442,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 */
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> --- scripts/mod/modpost.c | 2 ++ 1 file changed, 2 insertions(+)