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 List-Archive: List-Post: List-Help: List-Subscribe: , From: Jeremy Drake via Cygwin Reply-To: Jeremy Drake Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Cygwin" 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