Problems with mips2 compiled libc and linux 2.4.3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




It seems that this check(in asm-mips/elf.h):

#define elf_check_arch(hdr)
\
({
\
        int __res = 1;
\
        struct elfhdr *__h = (hdr);
\

\
        if ((__h->e_machine != EM_MIPS) &&
\
            (__h->e_machine != EM_MIPS_RS4_BE))
\
                __res = 0;
\
        if (__h->e_flags & EF_MIPS_ARCH)
\
                __res = 0;
\

\
        __res;
\
})

which is called in fs/binfmt_elf.c causes the loading of init to fail if

it is linked with a glibc compiled with -mips2. It is the second if test

which fails if any of the high 4 bits in the flags are set. According to
the
specs these are set for the various mipsx (x != 1) flavors - this seems
to mean
that we do no allow anything higher than mips1 run on linux - can this
be
true? If so, why?

/Brian



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux