From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.130]) by sourceware.org (Postfix) with ESMTPS id 6B2883858406 for ; Wed, 8 Dec 2021 11:12:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6B2883858406 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=cygwin.com Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis) id 1M8Syu-1mqV1Y3qkq-004UqY for ; Wed, 08 Dec 2021 12:12:12 +0100 Received: by calimero.vinschen.de (Postfix, from userid 500) id 4B5D1A80D37; Wed, 8 Dec 2021 12:12:12 +0100 (CET) Date: Wed, 8 Dec 2021 12:12:12 +0100 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: Native ARM support for Cygwin Message-ID: Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <1918386184.561539.1638929253143.ref@mail.yahoo.com> <1918386184.561539.1638929253143@mail.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1918386184.561539.1638929253143@mail.yahoo.com> X-Provags-ID: V03:K1:dUkW1v1PbEffrQAFpP6/QkK5ghzqjVJQLIXEGMNCKpn3LYqMOrX 8Ke95+0tn/U5cIqjXO2gYqIHckjbf8nlYlR9BYBfiRibSO8vBi3o8+aCfwUms5gSaef2N1I tzGdWfuxRkl1n/4CEcN+XuhYJLTxxjxi4kHuWI5gQ5xCw711rS7jYfcp2Gm2HolvVscJzu4 Tv8BbYw6g5d18jHwZh0fg== X-UI-Out-Filterresults: notjunk:1;V03:K0:atN+y0VewmU=:lP2fr3jzCgni92/RBtws4S 9dNIVm3XqDJzIh8iM+p1rB/2MyALDM6vsGuEIujMNiDIO628DlzlV9/6VnnEPzEqbXKjkw1nG b+no9Q8YJB0/UTgf42no9UCgh+Hx42x57yms5rBQz7GF7Q8clxzNklffmKDfYiHwPZy1FPjeQ Vf2lfEj18vlsrPcywDSJFoYbv8apwDvBdfwUr9hv/AnbsZntIwGTJVyyaIjZiDKz5SK+I/bxp TewBe0Vcp8y3yBj6VHuZmETLRiaWp/93zP5DAPFL2TngPuB0VFxTxJ/OsnQQDzvJR0550CCki fcQasIwfgzfHokm+f55AA+W4GoYkl7XjFmWVll+KzJPMtee5qnTKT7UDeHoAvhsmGZgsBqZ/R nsbqz4FASe3b/ATuqEI4A3PfbUZTKnzqaKDnU2MKk8Oh8vttvguzKFXwAuPXA1Su3XZYhl8nk oFS0JviZLsN1vjY59YTPQqQRYfXz9iYDvs4z0cCqfTZ/K4bVTOrKP82nOrzaWogHxKfTZ15fq 0EBv0LrGmRl7cKdT7zQQyzyPaecMSLdJSHynQ+9ZR+tzlo1cVgPyaZPbBpGStuPq5wzbBwMRP Py+xMxutTJVudMNUggZOn8dZfEGnRXdRmdx5QYMRsw9cB3rJyMxjFMjgdOuNFDF6BDeQkS+Ht rGxMVKEkUoUuk6Q1sydGTGa1lLKqFvWad4EqoJllW+9pkr/zDV/9f2E3YUSvYFvKvekdyQ+b8 WZuuPHKL1cuUXh+5 X-Spam-Status: No, score=-99.4 required=5.0 tests=BAYES_00, GOOD_FROM_CORINNA_CYGWIN, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Dec 2021 11:12:17 -0000 On Dec 8 02:07, Aaron Franke via Cygwin wrote: > Hello Cygwin, > I am wondering what are the plans for adding support for native ARM64 > Windows to Cygwin. > Currently there are only downloads for x86 (both 32-bit and 64-bit), > but not for ARM. > I do see in the FAQ that there is a mention of how ARM systems can run > the x86 version of Cygwin, however I am interested in a native ARM64 > toolchain if possible. By the way, I'm only interested in 64-bit ARM. No plans. To create an ARM64 version of Cygwin we need: - Toolchains (binutils, gcc, gdb) targeting aarch64-pc-cygwin and aarch64-w64-mingw32. I don't know if the mingw toolchain already exists, but if so, the Cygwin toolchain could be derived from there. The differences would be basically the same as on x86_64 (sizeof(long), different default link libs, etc) - Make sure Mingw-w64 for ARM is working as desired, including the special code for Cygwin in there. AFAIK, Mingw-w64 for ARM64 is still in an experimental stage, but I could be wrong. - Make sure to understand the differences between ARM64 ABI on Windows vs. the default aarch64 ABI (if any). - At least one person who's fluent in aarch64 assembler who will take a stab at creating matching aarch64 assembler code snippets in places we have x86 and x86_64 assembler today. We might get away with some of the code being in newlib already (memset/memcpy). - ARM64 Windows and hardware for testing. I don't see anything of that happen any time soon ¯\_(ツ)_/¯ Corinna