comp.lang.ada
 help / color / mirror / Atom feed
From: Brian Drummond <brian@shapes.demon.co.uk>
Subject: Re: Precisely why can't official FSF GNAT maintainers copy bug fixes in GNAT & its GCC-contained runtime en masse from GNAT GPL Community Edition?
Date: Fri, 4 May 2018 11:55:55 -0000 (UTC)
Date: 2018-05-04T11:55:55+00:00	[thread overview]
Message-ID: <pchhob$f1o$1@dont-email.me> (raw)
In-Reply-To: 9c3a75d6-a01f-4cfa-9493-10b8b082ead8@googlegroups.com

On Thu, 03 May 2018 12:13:19 -0700, Dan'l Miller wrote:

> Instead of burying this 200 comments down into another thread, this is
> important enough to deserve its own top-level posting:
> 
> On Thursday, May 3, 2018 at 12:00:20 PM UTC-5, Simon Wright wrote:
>> Not actually copyright, since (judging by the 2017 CE) it's assigned to
>> the FSF anyway. It's a licencing issue.
> 
> You do bring up an interesting point:  because AdaCore appears to
> immediately assign all rights to copy to Free Software Foundation the
> moment that AdaCore employees invoke the file-save function in their
> text editor in files comprising GNAT and its portion-of-GCC runtime, it
> seems that only Free Software Foundation would have legal standing to
> fully enforce the GPLv3-without-Runtime-Exception in GNAT GPL Community
> Edition. 

It may very well be that the problems aren't legal but technical.

Having done a little maintenance on ghdl/gcc (updating it from gcc4.4ish 
to gcc4.6-gcc4.8 a few years ago, this seems to have restarted interest 
in an excellent open-source Ada project) I can comment, and support and 
maybe add to Simon's observations.

Gnat Libre edition may be a newer Ada compiler than FSF Gnat (while still 
lagging Gnat Pro by a year or so) but it is based on a fairly old gcc 
base version (partly because of that lag).

And the front-end language interfaces to the gcc middle-end and back-end 
tends to change quite significantly between gcc releases. This broke ghdl 
quite badly at that time, and it took some serious digging (for someone 
not intimate with gcc internals) to find out where, why and what to do 
about it.



So a wholesale copy of Gnat Libre patches from a middle-aged gcc, getting 
close to retirement, into the FSF Gnat source tree based on a leading 
edge gcc is likely to result only in a colossal build failure followed by 
a horde of difficult bugs.



The C layer between Gnat and GCC is quite large (over 50 .c,.h files); 
much larger than ghdl's astonishingly clean layer (a single C file for 
the compiler, a few small ones for the RTS, all the rest is Ada) so I 
could imagine merely maintaining this interface between gcc versions to 
be quite a task in itself, running to stand still, even before porting 
any actual compiler changes.

(Side note 1 : the sole author of ghdl also ported it to use LLVM as a 
third back end. Comparing this with DragonEgg's problems interfacing Gnat 
to LLVM supports the notion that this is not trivial.)

(Side note 2 : he ended up wih a job at Adacore.)

In short, unless you know different, changes probably have to be brought 
over one by one and massaged to work, as "free software" time and effort 
allows.

-- Brian

      parent reply	other threads:[~2018-05-04 11:55 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-03 19:13 Precisely why can't official FSF GNAT maintainers copy bug fixes in GNAT & its GCC-contained runtime en masse from GNAT GPL Community Edition? Dan'l Miller
2018-05-03 20:22 ` Dan'l Miller
2018-05-03 21:17   ` Paul Rubin
2018-05-03 21:42     ` Dan'l Miller
2018-05-03 22:02       ` Paul Rubin
2018-05-03 22:23         ` Dan'l Miller
2018-05-04 12:35           ` Simon Clubley
2018-05-04 14:33             ` Dan'l Miller
2018-05-04 16:20               ` Mark Lorenzen
2018-05-04 16:57                 ` Dan'l Miller
2018-05-04 17:22                   ` Simon Clubley
2018-05-04 18:39                     ` Dan'l Miller
2018-05-04 17:42               ` Simon Clubley
2018-05-04 18:01                 ` Dan'l Miller
2018-05-05 12:50                 ` Luke A. Guest
2018-05-07  1:06                   ` Simon Clubley
2018-05-04 16:29             ` Simon Wright
2018-05-04 17:25               ` Simon Clubley
2018-05-05 12:44                 ` Luke A. Guest
2018-05-05 14:19                   ` Dan'l Miller
2018-05-05 15:58                     ` Lucretia
2018-05-05 18:51                       ` Niklas Holsti
2018-05-05 19:30                         ` Luke A. Guest
2018-05-05 19:04                       ` Dan'l Miller
2018-05-08 21:17                         ` Dan'l Miller
2018-05-05 21:44                       ` Adacore French connection J-P. Rosen
2018-05-05 21:46                   ` Precisely why can't official FSF GNAT maintainers copy bug fixes in GNAT & its GCC-contained runtime en masse from GNAT GPL Community Edition? Simon Wright
2018-05-06 16:37                     ` Jacob Sparre Andersen
2018-05-04 19:53           ` antispam
2018-05-04 20:35             ` Dan'l Miller
2018-05-04 21:46             ` Simon Wright
2018-05-04 22:00               ` Dan'l Miller
2018-05-03 21:48   ` Simon Wright
2018-05-03 21:50     ` Simon Wright
2018-05-03 22:06     ` Dan'l Miller
2018-05-04  7:36       ` Simon Wright
2018-05-04 16:45     ` Jeffrey R. Carter
2018-05-04 16:58       ` Dan'l Miller
2018-05-04 11:55 ` Brian Drummond [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox