Le 22/08/2020 à 00:28, Carlo Marcelo Arenas Belón a écrit : > While technically compatible will (depending on the CPU) hopefully fail > later with a cryptic error: > > qemu: Unexpected FPU mode > > Provide an earlier hint of what the problem might be by detecting if the > binary might not be using the n32 ABI and print a warning. > > Signed-off-by: Carlo Marcelo Arenas Belón <care...@gmail.com> > --- > linux-user/elfload.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/linux-user/elfload.c b/linux-user/elfload.c > index fe9dfe795d..64c3921cd9 100644 > --- a/linux-user/elfload.c > +++ b/linux-user/elfload.c > @@ -2390,6 +2390,13 @@ static void load_elf_image(const char *image_name, int > image_fd, > if (!elf_check_ehdr(ehdr)) { > goto exit_errmsg; > } > +#ifdef TARGET_ABI_MIPSN32 > +/* from arch/mips/include/asm/elf.h */ > +#define EF_MIPS_ABI2 0x00000020
This is already defined in include/elf.h > + if (!(ehdr->e_flags & EF_MIPS_ABI2)) { > + fprintf(stderr, "warning: ELF binary missing n32 flag\n"); I think an exit would be more appropriate: errmsg = "warning: ELF binary missing n32 flag"; goto exit_errmsg; > + } > +#endif > > i = ehdr->e_phnum * sizeof(struct elf_phdr); > if (ehdr->e_phoff + i <= BPRM_BUF_SIZE) { > CC'ing mips maintainers (and Maciej as he sent a patch on the N32 topic 2 years ago...) Thanks, Laurent