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=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,fd9a8f91bb89a8d2 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-11-17 13:59:33 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!sn-xit-03!sn-xit-04!sn-xit-06!sn-post-01!supernews.com!corp.supernews.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Is it possible to build an Ada cross-compiler for an 8-bit embedded target now that gcc 3.X has support for Ada? Date: Mon, 17 Nov 2003 15:57:57 -0600 Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300 X-Complaints-To: abuse@supernews.com Xref: archiver1.google.com comp.lang.ada:2593 Date: 2003-11-17T15:57:57-06:00 List-Id: "Peter Milliken" wrote in message news:zgRsb.200$co2.10332@nnrp1.ozemail.com.au... > Subject pretty much says it all. > > Now that you can build an Ada compiler using gcc 3.X (well, according to the > build instructions of gcc 3.x :-)), I began to wonder whether it was > possible to build a cross-compiler for an 8-bit target processor. The 8-bit > processor family in question is already supported by gcc (I believe). > > When I say "possible", I just mean "follow the cross-compiling instructions > and out pops an Ada compiler" - I don't mean, "spend months of work patching > various files and then you might have an Ada compiler" :-) To not answer your actual question at all, but... As someone else pointed out, the biggest cost/overhead is porting the runtime libraries. Speaking for Janus/Ada, porting the code generator/compiler usually only takes a month or so (and that's for building a code generator from scratch). But building the basic runtime support for exceptions, tasking, floating point (which usually has to be emulated on small processors), etc. can take a lot of time. In addition, that support can make programs quite large. Because of this, I think you'd have trouble making acceptable programs with a general-purpose compiler like GCC. Janus/Ada was originally built for Z-80 and 8086 processors without much memory. Thus, we only load floating point and tasking support when they are used. That isn't very valuable on standard systems like Windows these days, but it matters a lot on 8-bit systems. The only reason that we don't support 8-bit processors is a lack of demand. Everyone seems to use a different processor, and thus we cannot really justify the investment building code generators (easy) and runtime libraries (not as easy) for each one. Of course, we're always interested in customization projects, but that won't help you convince your manager... Randy Brukardt