From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED.jFK6OqqKW5bkmQ4H/i1UAQ.user.gioia.aioe.org!not-for-mail From: "Luke A. Guest" Newsgroups: comp.lang.ada Subject: Re: Ada on Apple's new procesors Date: Wed, 24 Jun 2020 16:38:21 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <4d9fa282-830d-42f7-a3bf-ba127cb2ad06o@googlegroups.com> <8332f305-299f-45d7-9f9d-2cad924b24d8o@googlegroups.com> <9d941aca-2eb6-4f35-a346-c290c4666bdfo@googlegroups.com> <14ffa125-e27d-4d34-8c12-27afb2ea0b13o@googlegroups.com> NNTP-Posting-Host: jFK6OqqKW5bkmQ4H/i1UAQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-GB Xref: reader01.eternal-september.org comp.lang.ada:59200 List-Id: On 24/06/2020 16:12, Optikos wrote: > > https://kristerw.blogspot.com/2017/08/gcc-low-level-ir-and-basic-code.html > > In some regards, RTL is analogous to either LLVM textual IR or LLVM bitcode IR. Dumping out GIMPLE IR from GCC to manipulate it via any GPL-noncompliant tool would certainly make the Compilation Process ineligible to be an Eligible Compilation Process in the RLE. But dumping out RTL IR via -fdump-rtl-all command-line option, then manipulating it via any GPL-noncompliant tool seems very likely to also make the Compilation Process ineligible to be an Eligible Compilation Process in the RLE. If so, then RLE granting its exception to GPLv3 in GNAT-LLVM is highly dependent on each possible plug-in during the optimization phase of LLVM's opt, because legally speaking LLVM textual IR or LLVM bitcode thereof could be construed as directly analogous to RTL. GNAT-LLVM from what I've grepped doesn't contain any flags that are able to dump any GCC RTL. You can -dump-ir which calls LLVMDumpModule or -dump-bc which dumps LLVM's IR. >> So, the options are: >> >> 1) AdaCore or FSF legal advise on whether it's legal or not. >> 2) AdaCore adds the linking exception to GNAT-LLVM, which still might >> not clear up any confusion and would require 1. >> 3) You use a different Ada compiler with a more permissive licence, oh >> there aren't any. >> 4) You buy a licence from AdaCore, too expensive. >> 5) Write your own Ada compiler. >> 6) Use another language. >> 7) Write your own compiler for your own language. > > Yes, that list itemizes the barriers-to-entry that forms AdaCore's business model. A profitable business must establish or inherit at least one barrier to entry, analogous to a military battle taking a hill that is easier to defend downhill than trying to battle uphill. > > Plus there is: > 8) Consult your legal counsel every time that you modify any of the steps in GNAT-LLVM's back-end Compilation Process to assure that it still remains an •Eligible• Compilation Process. > > All that I am saying is: with respect to a GNAT-LLVM-generated executable that links to RLE, legally > a) it is a no-brainer if LLVM textual IR or bitcode thereof is definitively always construed to be an assembly language, > but if it is not, then > b) effort must be expended at each temptation to utilize the LLVM ecosystem's rich feature-set whether the eligibility of the Compilation Process got ruined by a violation of the GPL's or RLE's terms subtly sneaking in during opt's stages, especially plug-ins. > So, I leave that open to others to answer, I don't know know. My options are: 1) Write and Ada compiler. 2) Develop my own language without Ada or GNAT's baggage. 3) Find another language. 3 is an issue because there are very few which incorporate certain graet features from Ada :(