This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Ada] multilib patch take two => multilib build working


Selon Paolo Bonzini <bonzini@gnu.org>:

>
> > There is a Standard'Default_Bit_Order so it's the same as Word_Size: we
> just
> > loose "source" documentation (and gain less diff between target file).
>
> Yes, but Arnaud said that system-* constants are written down for a
> reason.  I don't understand *what* is the reason, but that's just
> because I have no clue (among other things) of what parts of the Ada RTS
> are installed.

Arnaud was quite clear about the reason: "The idea currently is to make these
values explicit so that when people read system.ads, they know right away what
the right value is."

My take is that it's not a strong blocking point and that integrated multilib
build is more useful to Ada users (and GCC developpers) than this limited form
of documentation, being able to do -m32 on x86_64 or powerpc/sparc is nice to
have after all :).

> If it was up to me, I would make the system.ads file automatically
> generated (except for the latter 20%, which would have to be specified
> in some way).  That would simplify multilibbing, but is moot unless
> there is a guarantee that this 20% is *totally* derivable from the
> target triplet, so that no conceivable flag combination can affect it.
> If this guarantee is not there, any attempt to multilib the Ada RTS is
> going to be a sore failure.

On a given target triplet you can still have multiple Ada RTS for example for
different thread libraries or exception models. These choices are expressed in
gcc/ada/Makefile.in and as I said it doesn't look very hard to update it to
handle multilibs as they currently exist.

Laurent


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]