delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2024/11/20/14:35:49

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 4AKJZmMa3752374
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 4AKJZmMa3752374
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=tODV4vik
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 93A383858428
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1732131346;
bh=qHsr/qu+vVE0S4FmI9VsBRRTyIAIYyGfv4NGbBr73RA=;
h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:
List-Help:List-Subscribe:From:Reply-To:From;
b=tODV4vikdfj0IE6xUgVmm1QRrIpTv1cAIf8ungKKomDtkuUQnvJ07nGRh5+N8LF2o
qHbEItm3awcqFjyUrKBIyZkCgdIIMFhNaJyWdIqiCSxB9Saw08uT8q4xkLe7wFVY4n
WCvGH/8Bp2htH01v8wnt/f+m7gGlOVIgDQNicunE=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1DF103858039
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 1DF103858039
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732131277; cv=none;
b=LOqBe2znnotEIam4OjkNfsli7qzW/pKr7zCv/ihLyQFe8SPIqCf1xkpbgSFqwrCTk42OOYWC0mgJDMuTb9biEPFDszOYM58F4qaZRVm0N6rPU025OtZ6zH1L0L58W2emivGBnjtrOckTp61UyOWJ9eIcm1qEDNU27OxoWQrXZ2w=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1732131277; c=relaxed/simple;
bh=oOf7vsWFz8ZkYc6mdp163YGCKXBgs9KcwQSQc9gvTUg=;
h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version;
b=T5Lxq5Jgs9SlMjooE9DrU+Q4Yv+BTUnQQX3qdl1bEjTTAVHAIODVIaICHDS6dd1d7h1hdE6vuJp8UwpP36QHA3hePzdoXEDCgjAfNjVM6D5E844puj9EUsvZD4sHQdfGQI42Fr9PfdqCxZDk5pE7+mEb3EXGstzexpl1GxclzzU=
ARC-Authentication-Results: i=1; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1DF103858039
Date: Wed, 20 Nov 2024 11:34:36 -0800 (PST)
X-X-Sender: jeremyd AT resin DOT csoft DOT net
To: cygwin AT cygwin DOT com
Subject: include tag in uname -s for ARM64 hosts
Message-ID: <833327a2-3a62-ed26-e4ba-5302bcdb8000@jdrake.com>
MIME-Version: 1.0
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Jeremy Drake via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Jeremy Drake <cygwin AT jdrake DOT com>
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>

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?)
i686	ARM64	-WOW64-ARM64
x86_64	x86_64	(N/A)
x86_64	ARM64	-ARM64 (x86_64-on-ARM64 is not considered WOW64 by MS)
Theoretical:
ARM64	ARM64	(N/A)
Not worth worrying about:
ARM	ARM64	-WOW64-ARM (?)
I'm mostly just curious how the algorithm would act there, there should be
*zero* interest in actually porting Cygwin to 32-bit ARM, MS just dropped
support for 32-bit ARM binaries on ARM64 in Windows 11 24H2.

Thoughts?

[1]: https://github.com/msys2/MSYS2-packages/discussions/2832
[2]: https://github.com/msys2/msys2-runtime/issues/238#issuecomment-2481438646

-- 
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019