arm big endian broken?
Richard Earnshaw
rearnsha@arm.com
Thu Mar 13 17:41:00 GMT 2003
> Hi Josh,
>
> > i'm trying to build a cross-hosting toolchain for armv5b (big endian
> > arm v5) on an i686 host. it appears that binutils is broken in some
> > manner such that "ld" won't link together big-endian objects. this
> > shows up for the first time in build glibc.
> >
> > if i re-run the command from gcc with -mbig-endian, it works fine.
> > it seems like the binutils are built for arm little-endian, not big-
> > endian. this is a bug as far as i can see.
> >
> > anyone have suggestions or advice?
>
> Well it is true that the binutils tools do not parse a configuration
> target of "armv5b" as being a big-endian target, but normally this
> should not matter. Normally gcc will tell the linker to default to a
> big-endian output by adding the -EB command line switch.
>
> My guess would be that the specs file created for gcc are not passing
> the -EB switch on to the linker. You could have a look at the file to
> confirm this, and assuming that it is missing, add it back in.
>
> The proper fix of course would be to find out why it is not in the
> specs file in the first place, but that looks more complicated. From
> a quick scan of the gcc sources I could not find where it actually
> works out that "armv5b" is a big endian toolchain in the first place,
> so I am not sure how/where the specs file should be modified.
There are no gcc configurations that default to big-endian on ARM.
R.
More information about the Binutils
mailing list