This is the mail archive of the
mailing list for the GCC project.
Re: Changing base compiler requirement for bootstrapping GNAT
> On 19 Jan 2017, at 11:46, Richard Biener <firstname.lastname@example.org> wrote:
> On Thu, Jan 19, 2017 at 11:11 AM, Tristan Gingold <email@example.com> wrote:
>> Is it ok to require gcc 4.9 (3 years old) or later to build GNAT ?
>> We plan to use gcc exceptions within the GNAT front-end (previously we were using a FE specific exception mechanism).
>> This requires a matching implementation in the runtime, which was last changed for gcc 4.9
>> Our idea is to completely remove in GNAT the support of the FE specific exception mechanism.
>> Is anyone opposed to such a change ?
> But as you are bootstrapping you should always have a matching
> runtime, no?
Yes for stage-2 and stage-3, but not always for stage-1.
To clarify: the gnat1 and gnatbind binaries are not linked with libgnat, but are built in a standalone way. GNAT1_OBJS contains both the objects for the compiler sources and the objects for the needed runtime sources.
The compiler has some knowledge of the runtime (not unlike cc1plus or even cc1), so the runtime files used to built gnat1/gnatbind must be compatible with the base compiler.
> That is, the built gnat1 will not use
> the host compilers runtime?
Yes, that's correct (unlike cc1plus which uses host libstdc++).