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

Re: binutils: [mips] ar doesn't recognize ELF64

Aurelien Jarno wrote:
> Thiemo Seufer a écrit :
> >Aurelien Jarno wrote:
> >
> >>On Tue, Apr 18, 2006 at 04:06:46PM -0600, Stuart R. Anderson wrote:
> >>
> >>>Package: binutils
> >>>Version: 2.16.1cvs20060117-1.1
> >>>Severity: important
> >>>Tags: patch
> >>>
> >>>ar (and ranlib) do not correctly identify ELF64 files in an archive. It 
> >>>complains that
> >>>the format is ambiguous.
> >>>
> >>>cc -mabi=64   -c -o foo.o foo.c
> >>>ar cq libfoo.a foo.o
> >>>ar t libfoo.a
> >>>ar: libfoo.a: File format is ambiguous
> >>>ar: Matching formats: ecoff-littlemips ecoff-bigmips elf64-tradlittlemips
> >>>
> >>>The test case illustrated here is attached.
> >>>
> >>>A workaround/fix for this is to drop the ecoff format support when 
> >>>configuring binutils
> >>>for mips or mipsel. Has linux ever supported ecoff on mips anyway?
> >
> >
> >There is some linuxy ECOFF support which was used for bootloaders, but
> >the kernels were always ELF and also don't support loading ECOFF
> >binaries (except probably as binary_misc).
> >
> >
> >>>A patch for this
> >>>is also attached.
> >>>
> >>
> >>AFAIK, ecoff support is needed for the kernels, when booting from the
> >>network. So I am not sure it is a good idea to remove it.
> >
> >
> >The ECOFF support necessary for that is handled via either conversion
> >of ELF binaries (with elf2ecoff), or via wrapping ELF in a fake ECOFF
> >(used by delo/t-rex), or by actually compiling an ECOFF bootloader
> >(this is arcload and arcboot).
> >
> >The ELF support in binutils was left in for the latter, and on the
> >theory that someone might want to use objcopy for ECOFF conversion.
> >
> So basically you mean removing ECOFF support in binutils is not a 
> problem. Right?

As I tried to explain, it will break arcload and arcboot, and probably
some more bootloader-ish things of older machines I don't know of.

For Debian, I'd like to have some workaround for arcboot before we
kill ECOFF.

For binutils upstream, I don't want to kill it without previous
discussion on the binutils list.


Reply to: