Mips 32r2 big-endian toolchain

Wed Mar 9 22:10:00 GMT 2011

> On 3/8/2011 12:40 PM, ANDY KENNEDY wrote:
> >> I started to look at this a week or so back while I was trying to
> >> build an octeon toolchain. I found that there seems to be an issue
> >> with how ct-ng handles tuples for mips, but I didn't have enough time
> >> to fully debug/figure it out.
> >>
> >> The problem is somewhere in here:
> >> http://ymorin.is-a-geek.org/hg/crosstool-ng/file/f4e5daf96796/scripts/build/arch/mips.sh
> >
> > Perhaps, though there is nothing really there.
> >
> CT_DoArchTupleValues() {
>      # The architecture part of the tuple, override only for 64-bit
>      if [ "${CT_ARCH_64}" = "y" ]; then
>          CT_TARGET_ARCH="mips64${target_endian_el}"
>      else
>          # The architecture part of the tuple:
>          CT_TARGET_ARCH="${CT_ARCH}${target_endian_el}"
>      fi
> mips/mips64-*-* generally means big-endian triplet so you dont need to
> append anything to make it behave big endian by default. Where as for
> little endian it should be mipsel/mips64el-*-* which is ok in above case
> may be its an issue may be not.

I don't think mips64eb is a valid triplet -- so your point is valid,
though it has nothing to do with my problem ;).

An interesting find (hoping this will shed light on my problem and
then someone will say "Oh, I know what that is ").  The issue has
been gcc/xgcc linking everything as EL.  So, for giggles, I attempted:

.build/mips*/build/build-cc-core-shared/gcc/xgcc --target-help
and I get
cannot find cc1.  So, I then
.build/mips*/build/build-cc-core-shared/gcc/cc1 --target-help
and I get
-meb    [disabled]
-mel    [enabled]

So, xgcc thinks the target is ONLY little endian.  What config option
is needed so that configure will send down the correct configure to
xgcc so that I can build Big Endian by default?  Is this a question
I should cross post to the gcc developers or is this only an  internal
issue with crosstool-NG?


More information about the crossgcc mailing list