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: border1.nntp.dca1.giganews.com!nntp.giganews.com!newspeer1.nac.net!newsfeed.xs4all.nl!newsfeed1a.news.xs4all.nl!xs4all!feeds.phibee-telecom.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Natasha Kerensikova Newsgroups: comp.lang.ada Subject: Cross-toolchain for DS [was: Newcomers to comp.lang.ada: welcome and how did you end up here ?] Date: Sun, 12 Oct 2014 10:56:07 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <87h9zdpi84.fsf@ixod.org> <87fvex5bwy.fsf@ixod.org> <2064812074434669488.767131laguest-archeia.com@nntp.aioe.org> Injection-Date: Sun, 12 Oct 2014 10:56:07 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="76a49b86bc3e16725b7cfca3d85cb4c8"; logging-data="17887"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+HTIPEbupcMDVDvmpgOBX6" User-Agent: slrn/1.0.1 (FreeBSD) Cancel-Lock: sha1:R+904AE8ejvBVHCQYwfUzB7PeJE= Xref: number.nntp.giganews.com comp.lang.ada:189686 Date: 2014-10-12T10:56:07+00:00 List-Id: Hello, On 2014-10-10, Luke A Guest wrote: > Simon Clubley wrote: > >>> I'm also trying to build a cross-compiler for Nintendo DS, it's a bit >>> less smooth but I haven't spent much time on it yet. Is it also doomed? >>> >> >> I strongly recommend you follow Luke's link; he's spent quite a bit >> of effort over the years on this and he's encountered a good range >> of problems (there was a time when I was following Luke's work >> closely). >> > > Cheers, I have not touched it for a while. I was going try to maintain a > GCC tree but I think it's going to easier to maintain patches still. I have > some tiny patches which allow you to bud a gnat cross compiler with tools > on the same vein as a c cross compiler. It's not great. It adds a new > required flag to turn off building of the runtime. I need to rebook at it. > Once my new site is ready I'll be going back to old projects, this one > included. The problem here is that I'm trying to mix several projects, and it's really difficult to make a "Frankenstein's toolchain" without understanding what is going on, especially since it seems there are several ways to do the same thing, and all with different versions and patchsets. I really want to start from devkitARM, since they provide a lot of very useful system libraries for the target, and whatever target configuration they use is what is needed for the host tools to build the image. It is built around gcc 4.8.2 with newlib. As a first step, I would be happy with an Ada front-end without RTS, based only on a C-exported main and C-imported system primitives. To reach this point, it seems the required patchset is quite light. Luke, would you mind explaining your gcc-4.6.1.diff and your choice of configure flags? That would be extremely helpful to backport it into devkitARM. Then I will consider how to deal with the RTS and what features can be realistically provided. >> It's experiences like that which make we wonder if we need some kind >> of new half-way language between C and Ada which is easy to bring up >> on a new target and while not been as type-safe as Ada would be much >> better than C. > > It's this kind of thing that makes me consider developing a new language > derived from Asa bit simplified and just made easier to build. Would anyone know whether an LLVM-based compiler would help on that particular front? On the one hand, having such a well-defined intermediate form should result in a very loose coupling between back-end and front-end, making all languages roughly equal. On the other hand, how wide is the availability of LLVM-to-embedded-target back-end? It's not much of a progress if C and Ada are equal at "limited to desktop targets" point. The reason why I'm asking, is I'm stilling working on updating gela and building on it a RTS-limited LLVM-based Ada 95 compiler seems realistic (albeit far away down the road). Natasha