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!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!newsfeed.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Janus/Ada 3.2.1 Released! Date: Wed, 26 Jun 2019 17:36:27 -0500 Organization: JSA Research & Innovation Message-ID: References: <228117e3-4382-4faf-807e-e562c41657c4@googlegroups.com> Injection-Date: Wed, 26 Jun 2019 22:36:28 -0000 (UTC) Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226"; logging-data="22623"; mail-complaints-to="news@jacob-sparre.dk" X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246 Xref: reader01.eternal-september.org comp.lang.ada:56778 Date: 2019-06-26T17:36:27-05:00 List-Id: "Optikos" wrote in message news:228117e3-4382-4faf-807e-e562c41657c4@googlegroups.com... ... >Randy, would putting Janus/Ada's front end on >0) LLVM backend >be more difficult than any major target feature listed above alone (e.g.: >1) Janus/Ada as-is without LLVM plus ELF on x86; These are almost completely orthogonal: the existing code generator would work for Linux, and the (old) Unix JLink did ELF. The issue with Linux is updating the runtime to use Linux system calls (these are different than the ones from the old Unix). OTOH, attaching LLVM is a totally different level of work, and I don't know enough about LLVM to say how easy or hard it would be. OTOH, we did something similar of Unisys, so we already have most of the ability available. But again, note that a code generator is a small (and usually easiest) part of porting to a new target. Making a usable runtime (that is, exception handling, finalization, overflow checking, divide-by-zero traps, basic I/O, and most of all, tasking) is generally a bigger job. Randy.