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=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED.IIfIc3CB/+nKo+wKq8+a0g.user.gioia.aioe.org!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Ada on Apple's new procesors Date: Tue, 30 Jun 2020 21:01:59 +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> <76def2a5-667c-4009-b3b9-f0cf1c13a51bo@googlegroups.com> <3b5b2360-684c-4149-8662-98b53319cf94o@googlegroups.com> NNTP-Posting-Host: IIfIc3CB/+nKo+wKq8+a0g.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain X-Complaints-To: abuse@aioe.org User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (darwin) Cancel-Lock: sha1:RWy8Rzk1XhVYDlwte3+Vy5CXpe0= X-Notice: Filtered by postfilter v. 0.9.2 Xref: reader01.eternal-september.org comp.lang.ada:59270 List-Id: charlet@adacore.com writes: >> That is for uploading of GPL'd software to the app store, that is not >> what we are talking about here. This is a completely different >> matter. >> >> What we are talking about is whether the GNAT-LLVM backend violates >> the GPL IR clause, enacting it in the final binary. >> >> We need clarification on whether the translation from GCC's IR to >> LLVM's IR invokes this clause. I'm not sure if GNAT final IR before >> the GNAT-LLVM backend is GENERIC or GIMPLE. > > GNAT LLVM doesn't use nor depend on GCC at all: it goes directly from > the GNAT tree to LLVM bitcode, there is never any GENERIC nor GIMPLE > in sight by design and never can be (unlike with the old DraggonEgg > FWIW). It seems to me that there's a lot of argument about things which can't or won't be changed. AdaCore have produced GNAT-LLVM as a proof of concept, aimed really at targets not supported by GCC but of interest to AdaCore's customers. GNAT-LLVM code itself is (C) AdaCore, and is GPLv3. The gcc/ada code is (C) FSF, and is GPLv3. No change there. The current build takes the RTS from FSF GCC, though clearly it could take it from elsewhere (e.g. some bare metal RTS). That RTS is (C) FSF, GPLv3 + runtime exception. Some here have thought, Aha! LLVM, RTS with runtime exception, people could produce apps for iOS!!!! Then, cold reality strikes: it looks as though there's a conflict between the actual terms of the runtime exception and Apple's requirements for code to be submitted to the App Store (it needs to be in LLVM IR or equivalent); the code would very likely lose the protection of the runtime license umbrella. Now, guys, given that there's Apple on one side standing on a mountain of money and a prickly attitude to what they'll accept for their app store, and on the other side a very much smaller developer community, who's going to risk going to court to put a GNAT app on to the App Store? Whether you could make such an app and run it on iPhones privately, without going through Apple & the App Store, I don't know. I'm sure the NSA can. ================================ There just might be a way round this: write your own clean-room RTS and licence it however you please! If you didn't need tasking or most of the Annexes, it wouldn't be that bad.