---------- Forwarded message --------- From: Israr Sayed <sd.israr@xxxxxxxxx> 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@xxxxxxxxx> 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@xxxxxxxxx> 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.