[U-Boot] U-Boot/IXP

Bryan Hundven
2012-03-05T22:31:09Z

On Mon, Mar 5, 2012 at 2:22 PM, Marek Vasut <marex@denx.de> wrote:
> Dear Bryan Hundven,
>
>> On Mon, Mar 5, 2012 at 2:09 PM, Marek Vasut <marex@denx.de> wrote:
>> > Dear Bryan Hundven,
>> >
>> >> On Mon, Mar 5, 2012 at 12:15 PM, Marek Vasut <marex@denx.de> wrote:
>> >> > Dear Michael Schwingen,
>> >> >
>> >> >> Am 03/05/2012 12:54 PM, schrieb Marek Vasut:
>> >> >> > Dear Michael Schwingen,
>> >> >> >
>> >> >> >> On Mon, Mar 05, 2012 at 02:14:56AM +0100, Marek Vasut wrote:
>> >> >> >>> Dear Michael Schwingen,
>> >> >> >>>
>> >> >> >>> do you still intend to maintain IXP support in uboot or can all
>> >> >> >>> those IXP boards be removed? I'd be great if you helped bringing
>> >> >> >>> them back in-line!
>> >> >> >>
>> >> >> >> I still use them and would want to keep these boards (and maintain
>> >> >> >> them).
>> >> >> >>
>> >> >> >> I only glimpse at the mailing list from time to time - are there
>> >> >> >> any open problems with these boards that need to be addressed?
>> >> >> >
>> >> >> > No, I just cannot compile it with usual arm-linux-gnueabi-
>> >> >> > toolchain and that puts a bleep on my bug-radar. Is that normal?
>> >> >> > Do I need a special toolchain?
>> >> >>
>> >> >> I am using an old, locally built toolchain that identifies itself as
>> >> >> gcc version 4.3.4 (crosstool-NG-hg_default at 1471_4a88cb9bfe8f)
>> >> >>
>> >> >> I can take a look at this using a newer toolchain - however, I am in
>> >> >> the process of moving, so this will probably take some weeks.
>> >> >>
>> >> >> What prebuilt toolchain should I try?
>> >> >
>> >> > I was more curious if it's possible for me myself to build these. And
>> >> > if so, can that be done with usual arm-linux-gnueabi- toolchain? Or
>> >> > do I need special armeb toolchain compiled in some special way?
>> >>
>> >> I've built a new armeb xscale toolchain available here if you want to
>> >> try it.
>> >> https://sourceforge.net/projects/bhundven.u/files/armeb-unknown-linux-gn
>> >> ue abi.tar.bz2/download
>> >>
>> >> I built it on x86_64. I can build it on 32-bit intel if you don't have
>> >> an x86_64 build box. Let me know.
>> >>
>> >> $ ct-ng show-armeb-unknown-linux-gnueabi
>> >> armeb-unknown-linux-gnueabi ?[L X]
>> >> ? ? OS ? ? ? ? ? ? : linux-3.2.8
>> >> ? ? Companion libs : gmp-5.0.2 mpfr-3.1.0 ppl-0.11.2 cloog-ppl-0.15.11
>> >> mpc-0.9 libelf-0.8.13
>> >> ? ? binutils ? ? ? : binutils-2.22
>> >> ? ? C compiler ? ? : gcc-4.6.3
>> >> (C,C++,Fortran,Java,Objective-C,Objective-C++) C library ? ? ?:
>> >> eglibc-2_15
>> >> ? ? Tools ? ? ? ? ?: dmalloc-5.5.2 duma-2_5_15 gdb-7.3a ltrace-0.5.3
>> >> strace-4.6
>> >
>> > Ok, that's good. But can someone please answer my question (now there are
>> > two)?
>> >
>> > 1) Does usual arm-linux-gnueabi- toolchain work? (possibly if I use some
>> > switch to toggle arm core endianness)
>>
>> No, the arm and armeb toolchains are different tuples.
>>
>> > 2) Do I need any special options to build the toolchain?
>>
>> You have to build an armeb toolchain with armeb as the platform in the
>> tuple. I don't see one on mentorgraphic's site.
>> I'm not sure if you can build a multilib arm/armeb toolchain.
>
> And what's the actual difference in the output code? Is it just that the code is
> compiled for xscale core (as usual) and the instructions are flipped or is there
> something else?

Yes, the toolchain output's xscale optimized binaries and is
configured for big-endian.
For autoconf based projects, it actually checks the platform part of
the tuple to figure out if it is little (arm) or big endian (armeb).

I'd prefer just using the -EL or -EB flags on
arm-unknown-linux-gnueabi, but as I said before, I'm not sure if you
can build a multilib arm/armeb toolchain.

> Best regards,
> Marek Vasut