[U-Boot] MAKEALL

Mike Frysinger
2011-10-19T14:25:01Z

On Wednesday 19 October 2011 07:36:15 Albert ARIBAUD wrote:
> Le 19/10/2011 00:21, Mike Frysinger a ?crit :
> > On Tuesday 18 October 2011 17:30:30 Simon Glass wrote:
> >> arm-none-linux-gnueabi-ld: stubs.o: compiled for a big endian system
> >> and target is little endian
> >> arm-none-linux-gnueabi-ld: failed to merge target specific data of file
> >> stubs.o
> >>
> >> I guess this is the endian error is the one you talk about here which
> >> I suppose can be fixed with a -m flag. How should this be added in?
> >> Should the ARM arch have a -mlittle-endian default?
> >
> > i fear that would break some boards where the maintainer has always used
> > a big endian toolchain. i don't think there are any CONFIG_xxx knobs
> > for boards to say "i am big endian" or "i am little endian".
>
> Actually the issue is not with the compiler -- it does build big-endian
> (example taken with scpu):

that's because the target you picked has a config.mk which forces -mbig-endian
in arch/arm/cpu/ixp/config.mk. that is the only arm soc that does. i'm pretty
sure many of the other arm soc's support either big or little endian and it's
just a matter of what the board wants to do.

> The issue is with the linker:
>
> arm-linux-ld -r -o libstubs.o stubs.o
>
> This fails because the linker does not specify -EB and thus links in
> little, not big, endian.

that's a failing on the part of ixp/config.mk. it should be adding -EB to the
linker flags when it forces -mbig-endian.

> Note that further issues may prevent a big-endian build such as the
> absence of big-endian run-time libs.

there is no run-time libs. only libgcc.a is taken external of u-boot, and
that issue is resolved by using the private libgcc.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20111019/0477ccc1/attachment.pgp