Fwd: Is it possible to build Single GCC Executable for armv5, armv6, armv7-{cortex-xx-{A,R,M}},armv8 etc.?

sayed israr sd.israr@gmail.com
Mon Nov 11 13:33:00 GMT 2019


---------- Forwarded message ---------
From: Israr Sayed <sd.israr@gmail.com>
Date: Mon, Nov 11, 2019 at 5:38 PM
Subject: Re: Is it possible to build Single GCC Executable for armv5,
armv6, armv7-{cortex-xx-{A,R,M}},armv8 etc.?
To: Jonathan Wakely <jwakely.gcc@gmail.com>


I am building GCC from sources.Where i can configure it with 2 ways:
(1) --with-arch  --with-cpu --with-fpu --with-float options .
(2) --with-multilib-list= .
In --with-multilib-list, we can configure for various combinations of
armv*-*-*.
For example, I want to build gcc for with arch = armv7, armv7-m, armv7e-m,
with float = hard, softfp, soft.
 with fpu = fpv, fpv4, fpv4-d16 etc..
whereas if in configure i mention --with-arch --with-fpu --with-float.That
will build GCC for those options only.
I have a prebuilt arm GCC binary for STM32F controllers, which is built for
whole range of armv7-M, armv7e-m along with FPUs.
there configure options show --with-multilib-list=rmprofile.
rmprofile is the multilib option for configure.Which is exactly what
gcc/config/arm/t-rmprofile file is about.
I hope i can explain my question better.
------------------------------------------------------

On Mon, Nov 11, 2019 at 11:40:39AM +0000, Jonathan Wakely wrote:
> On Sun, 10 Nov 2019 at 11:36, Israr Sayed <sd.israr@gmail.com> wrote:
> >
> > Digging into the sources of GCC I noticed in files gcc/config/arm/t-*,
There are multiple arm target options.
> >
> > Reading [GCC internal Manual], These are called Target Makefile
Fragments, which will be included in main Makefile, like MULTILIB_OPTIONS,
MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_REQUIRED, MULTILIB_REUSE,
MULTILIB_EXTRA_OPTS, MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
> >
> > What I am not able to understand that how to bring it in at the time of
configure.Which option to choose?
> >
> > More over is it possible to edit those t-* files as per the requirement
and how?
> > Please Help.
>
> I don't understand your question. Your email's subject talks about a
> single GCC executable for multiple ARM variants, which is supported
> automatically. When you configure GCC for an ARM target you can select
> the specific processor type using the -march and/or -mcpu options. See
> the documentation of command-line options in the GCC manual.
>
> You don't need to do anything special to use the target makefile
> fragments, they're used automatically, as needed.



More information about the Gcc-help mailing list