From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!reader01.eternal-september.org!aioe.org!Yr2L9qaRshuL+yFKTxsDBA.user.46.165.242.75.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: components_4_64 python Test_Class Build Fails Date: Fri, 21 Oct 2022 20:56:54 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <2038635c-fdb0-4ca4-9dd8-6d7f9cfa6dd1n@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: gioia.aioe.org; logging-data="23606"; posting-host="Yr2L9qaRshuL+yFKTxsDBA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (darwin) Cancel-Lock: sha1:MK2LuPPbhOayooWbhNM0AgAAOng= X-Notice: Filtered by postfilter v. 0.9.2 Xref: reader01.eternal-september.org comp.lang.ada:64537 List-Id: "Dmitry A. Kazakov" writes: > BTW, what are you "posh guys" (:-)) are going to do with M1/2? Is > there GNAT? > > Is there any noticeable differences to X86_64 on the Ada level? > Endianness must be same, correct? Alignment/padding inside C > structures when interfacing to Ada? The Macs with Apple silicon (I don't think there's a difference between M1 & M2 at our level) support, for an unknown number of future OS iterations, a feature called Rosetta (2) which effectively does just-in-time translation of x86_64 binaries to aarch64. This is the same scheme they had for the Power -> Intel transition. x86_64 GCCs run just fine on Apple silicon, generating x86_64 binaries; I just ran the Alire gnatprove on my M1 mac mini and it failed in the same way as on x86_64 (libgmp not where it was expected). We have a native aarch64 compiler that generates aarch64 binaries, no noticable difference* (maybe if you got out a stopwatch ...). The only trouble is that aarch64 binaries can't use x86_64 shared libraries; the assembler, linker and libraries that Apple provides are dual-architecture, and some external providers provide the same or offer the choice at download time. * a couple of ACATS tests designed to check Storage_Error failed on M1 - I don't remember how.