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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.99.94.67 with SMTP id s64mr13585765pgb.0.1480454313369; Tue, 29 Nov 2016 13:18:33 -0800 (PST) X-Received: by 10.157.4.119 with SMTP id 110mr1386229otc.11.1480454313285; Tue, 29 Nov 2016 13:18:33 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.fcku.it!peer01.fr7!futter-mich.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!n6no3118309qtd.0!news-out.google.com!m27ni4828qtf.1!nntp.google.com!p16no3117058qta.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 29 Nov 2016 13:18:33 -0800 (PST) In-Reply-To: <7730ace9-1961-4844-98f1-6f47d6848e06@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=2a02:c7d:3cda:7600:932b:b705:6315:5a80; posting-account=L2-UcQkAAAAfd_BqbeNHs3XeM0jTXloS NNTP-Posting-Host: 2a02:c7d:3cda:7600:932b:b705:6315:5a80 References: <145e7204-aa27-4bb6-9c46-7f3700030a84@googlegroups.com> <7730ace9-1961-4844-98f1-6f47d6848e06@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <912d9921-6e9b-4fbc-a507-3ee92317f988@googlegroups.com> Subject: Re: Things AVR-Ada needs to sort out - calling Rolf From: Lucretia Injection-Date: Tue, 29 Nov 2016 21:18:33 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Received-Body-CRC: 2917049849 X-Received-Bytes: 5092 Xref: news.eternal-september.org comp.lang.ada:32520 Date: 2016-11-29T13:18:33-08:00 List-Id: On Tuesday, 29 November 2016 18:32:28 UTC, rrr.e...@gmail.com wrote: > On Monday, November 28, 2016 at 7:39:45 PM UTC+1, Lucretia wrote: > > Hi, > =20 > Hi, Hi ho :D =20 > > Looking back at AVR stuff again and I still cannot believe Rolf Ebert h= acks up the GCC build so much still. >=20 > That depends on the meaning of "so much". >=20 > I ported my patches for building gcc to gcc-5.3 and last February to gcc-= 6.2. >=20 > > As of GCC-4.9.4, the ability to build bare metal GNAT builds has been p= ut back in place, see https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/ada/gcc-int= erface/Makefile.in?r1=3D218003&r2=3D219183&pathrev=3D219183 for the patch. >=20 > I read about it in the gcc-patches mailing, but cannot find it in your re= ference. Actually I always wanted to move my build patches to your (or Sim= on's) way. Er, the reference is above :/ =20 > Perhaps the name of the patch is misleading. Actually when I first create= d it (gcc-3.4?) it removed about 200 bytes in the generated code from the b= inder file. It still makes the generated binder code a few bytes smaller. I= could live without it, definitely. >=20 This (https://gist.github.com/Lucretia/d1c99124a889fd7b10f98b0418e2aaad & h= ttps://gist.github.com/Lucretia/326a08e89b5ec805eb67bb52e2ffdc34) is the b~= led_shifter.ads generated from https://github.com/Lucretia/electronics/comm= it/593b6fb76779bb989b273cf4fe5db7841e3833d6#diff-9574567a0d03bebebfdad27c1c= 2a80c0 This (https://gist.github.com/Lucretia/e0ee7b35acad13d2b9dc726a671aa477) ge= nerated from https://github.com/Lucretia/bare_bones using free-ada. That is= as small as it's gonna get. > > As for 72-gcc-4.7-ada-timebase.patch, I'm not sure about this one. Is t= here really a need for this at all? Why does the time duration need to be c= hanged for AVR? >=20 > That patch is also an attempt to reduce the code size on the target. Devi= ating from the Ada standard I can use a time base of 1ms and a time variabl= e of only 32 bits. A few years ago 64 bit integers didn't work well on AVR. But shouldn't setting the following: Duration_32_Bits : constant Boolean :=3D True; -- ?? Sort this out? I notice the code changes the denominator to 20000 * -6 rather than 20000 *= -3, I'm not sure what this acheives tbh. Can you explain more? > > The way to build this new compiler is to use --disable-libada in the co= nfigure command then: > >=20 > > make all-gcc > > make all-target-libgcc > > make -C gcc cross-gnattools ada.all.cross > > make install-strip-gcc install-target-libgcc >=20 > Actually, I have difficulties to make that work.=20 Try https://github.com/Lucretia/free-ada - build native first, then build i= 586-elf and then build bare_bones, trust me it works. > > as can be seen here - https://github.com/Lucretia/free-ada/blob/develop= /includes/bare_metal.inc >=20 > I looked at your script last February. In the end I sticked to my patches= because I wanted to proceed and did not want to beautify my set of patches= . Yeah moving on is fine, but I really think it needs to be sorted out so any= one can just grab the source from fsf and build a working compiler. =20 > There aren't any extra patches anymore that need to be included in the up= stream gcc! Well, there are, whatever is left from the above list. =20 > Thanks for your hints. I'll see if I can streamline building AVR-Ada in t= he future. Try what I have so far and see what you get. There is a build for avr-elf i= n free-ada, but I've not tried to build anything with it. Because of the ex= tra timebase patch. > best regards > Rolf Ta. Luke.