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