Thiemo Seufer wrote: > Atsushi Nemoto wrote: > > 64bit mips has different r_info layout. This patch fixes modpost > > segfault for 64bit little endian mips kernel. > > > > Signed-off-by: Atsushi Nemoto <anemo@xxxxxxxxxxxxx> > > > > diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c > > index cd00e9f..7846600 100644 > > --- a/scripts/mod/modpost.c > > +++ b/scripts/mod/modpost.c > > @@ -712,7 +712,13 @@ static void check_sec_ref(struct module > > r.r_offset = TO_NATIVE(rela->r_offset); > > r.r_info = TO_NATIVE(rela->r_info); > > r.r_addend = TO_NATIVE(rela->r_addend); > > +#if KERNEL_ELFCLASS == ELFCLASS64 && KERNEL_ELFDATA == ELFDATA2LSB > > + sym = elf->symtab_start + > > + (hdr->e_machine == EM_MIPS ? > > + (Elf32_Word)r.r_info : ELF_R_SYM(r.r_info)); > > +#else > > sym = elf->symtab_start + ELF_R_SYM(r.r_info); > > +#endif > > This doesn't look right. ELF64_R_SYM/ELF64_R_TYPE should be fixed for > mips64 instead. I should have read more carefully. The ELF_R_SYM seems to be correct, if this patch makes it work fo you then the toolchain you use creates broken (word-swapped ?) relocation entries for mips64el. Thiemo