This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Arm and big endian
- From: Ian Lance Taylor <ian at wasabisystems dot com>
- To: Pierre Habraken <Pierre dot Habraken at imag dot fr>
- Cc: gcc-help at gcc dot gnu dot org
- Date: 18 May 2004 11:04:23 -0400
- Subject: Re: Arm and big endian
- References: <40AA1A03.C24308D8@imag.fr>
Pierre Habraken <Pierre.Habraken@imag.fr> writes:
> I want to compile gcc and newlib so that big endian code is generated
> for newlib (this is for teaching purpose).
>
> Though I understand that multilib is activated by default, I do not need
> the multilib option since I want 32 bits and big endian code only.
>
> The configure doc. (in INSTALL dir.) says that there is an option for
> disabling biendian (BTW, does here "bi" mean "big" or "bi-" ?...), but
> nothing for enabling it.
>
> I tried --enable-biendian : configure does not complain about it but
> apparently does not take it in account.
>
> So my question is : What configure option I have to set up for gcc in
> order to get newlib being cross-compiled to big endian code ?
>
> Has someone succeeded in doing that (with or without multilib support) ?
I don't think there is any way to do that without patching the source.
It's easy to patch the source to make -mbig-endian the default: change
the definition of TARGET_DEFAULT to include ARM_FLAG_BIG_END.
TARGET_DEFAULT is defined in config/arm/*.h; the exact definition
depends upon your target.
It is only slightly more work to add support for --with-endian to
config.gcc.
Ian