From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me 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!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Clubley Newsgroups: comp.lang.ada Subject: Re: Your wish list for Ada 202X Date: Tue, 29 Apr 2014 19:42:05 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <7f1c01c5-3563-4b94-9831-152dbbf2ecdc@googlegroups.com> <206rutb9pqak$.11a3dufqvmrm4.dlg@40tude.net> Injection-Date: Tue, 29 Apr 2014 19:42:05 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="e458ff8b81bc0c159989eb0e36c6e372"; logging-data="12676"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+OTKgBHyjqX4rDb/OebbMElSAaFZWbPi0=" User-Agent: slrn/0.9.8.1 (VMS/Multinet) Cancel-Lock: sha1:hnuZ0TgGhWuXlnlkamsNBXMH30Q= Xref: news.eternal-september.org comp.lang.ada:19620 Date: 2014-04-29T19:42:05+00:00 List-Id: On 2014-04-29, Tero Koskinen wrote: > 29.4.2014 20:10, Simon Clubley wrote: >> On 2014-04-29, Tero Koskinen wrote: >>> >>> Not sure have it been proposed anywhere, but a common ABI (application >>> binary interface) for the most popular platforms (32-bit ARM Linux, >>> 64-bit x86_64/amd64 Linux, 32-bit i386 Windows, 64-bit x86_64/amd64 >>> Windows) would be nice. This way I could use binary libraries generated >>> by one Ada compiler (version) with another Ada compiler (version) >>> without providing full sources (or recompilation). >>> >> >> That is simply not possible. >> >> Your list above includes different architectures (ARM and x86) with >> totally different instruction sets. > > I meant a separate ABI for each platform. But for example, all > Ada compilers targeting 32-bit ARM Linux should implement same ABI. > Yes, that makes more sense. Sorry. :-) > In theory it should be relatively easy to say "all must use same ABI > as gnat 4.9 currently uses". > There's nothing easy about that unfortunately. There are multiple ABI levels here. Not only do you have the low level OS specific ABI, you also have a higher level Ada specific ABI (for tasking, exceptions, etc) with calls into the GNAT run time library. All of this would need to be formally documented in great detail so that, say, exceptions from code compiled using compiler A could pass a Ada exception up to a caller compiled using compiler B. Similar comments apply for other things, like tasking, which need runtime library support. Simon. -- Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP Microsoft: Bringing you 1980s technology to a 21st century world