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

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

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.


Reply to: