DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 4ALABcWP4013742 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 4ALABcWP4013742 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=OE8cZqqj X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 22344385780D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1732183896; bh=cZoFcqgvdoDfJL4ccWMF1bAaepRmWYyBqTzD+tXmBeo=; h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=OE8cZqqjr/dS94IhO1bAspb4b1CO0EMKMyEG9j7Bo5B8DgG9USf6YGFcWshb+Iwgq KC7c3txRNCl4qc4OWP8GsCBVfL3GacA3aQHX9EY2Zw5Wb7IEvARJeNshHjq4DI+nLI 8QYnkz7iUbKclCeJLkYBrIt1Ht4YzPeWQYEBfMx8= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com Date: Thu, 21 Nov 2024 11:10:36 +0100 To: cygwin AT cygwin DOT com Subject: Re: include tag in uname -s for ARM64 hosts Message-ID: Mail-Followup-To: cygwin AT cygwin DOT com References: <833327a2-3a62-ed26-e4ba-5302bcdb8000 AT jdrake DOT com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <833327a2-3a62-ed26-e4ba-5302bcdb8000@jdrake.com> X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Corinna Vinschen via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Corinna Vinschen Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" On Nov 20 11:34, Jeremy Drake via Cygwin wrote: > I mentioned this briefly on cygwin-patches during the review of the fix > for a deadlock when running under emulation on ARM64 hosts, but I wanted > to discuss it more thoroughly here now that that is merged. > > It seems like it would be useful, perhaps for stats tracking purposes like > MSYS2 does [1], to indicate when Cygwin is running under emulation in > uname. When i686 Cygwin was supported, there was a `-WOW64` tag appended > to the sysname field (uname -s) when it was running under WOW64, so it > seems to make sense to me to do something similar (say, appending > `-ARM64`). > > There was some concern that appending -ARM64 might cause confusion with a > future native ARM64 version of Cygwin [2], but technically it would not > because the architecture of Cygwin is reported in the "machine" field of > uname (uname -m), while my proposal is to append the host architecture to > the sysname field (uname -s), only when it doesn't match the architecture > of Cygwin iteself. > > I'm prototyping this based on Cygwin 3.3.6, because still supporting i686 > results in a more complete test matrix (I don't want to come up with > something that isn't extensible if Microsoft ever adds something new to > the matrix): > > Cygwin Host Suffix > i686 i686 (N/A) > i686 x86_64 -WOW64-x64 (or omit arch to match existing?) Just -WOW64 For backward compat and it's a sole representative of an intel-intel emulation anyway. I think we may safely ignore "WOW" > i686 ARM64 -WOW64-ARM64 Just -ARM64 The suffix already indicates an emulator, the target CPU is in the machine field. > x86_64 x86_64 (N/A) > x86_64 ARM64 -ARM64 (x86_64-on-ARM64 is not considered WOW64 by MS) Yep, -ARM64. The target CPU is in the machine field. > Theoretical: > ARM64 ARM64 (N/A) > Not worth worrying about: > ARM ARM64 -WOW64-ARM (?) Apart from not supporting 32 bit targets anymore (the tiny address space is simply not feasible anymore) just -ARM64. Again, the target CPU is in the machine field. Corinna -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple