Mips 32r2 big-endian toolchain
ANDY KENNEDY
ANDY.KENNEDY@adtran.com
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.
> >
>
>
> FWIW
>
> 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
<snip>
-meb [disabled]
-mel [enabled]
<snip>
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?
Thanks,
Andy
More information about the crossgcc
mailing list