aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2018-07-10 14:45:52 +0200
committerCorinna Vinschen <corinna@vinschen.de>2018-07-10 14:45:52 +0200
commita4f1f59bc7821cb115e5f42270aacfe3173c14d2 (patch)
treed14c5a4aa3d752e4a7474fd87e1f3501b7c4fa20
parent698d93c4b4edb442ca6ebae13c29e2d14feb047e (diff)
downloadnewlib-a4f1f59bc7821cb115e5f42270aacfe3173c14d2.zip
newlib-a4f1f59bc7821cb115e5f42270aacfe3173c14d2.tar.gz
newlib-a4f1f59bc7821cb115e5f42270aacfe3173c14d2.tar.bz2
Cygwin: Don't print FAST_CWD warning in WOW64 on ARM64 systems
No way to test this, yet. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/path.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index d56f22e..3936b10 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -4305,11 +4305,25 @@ find_fast_cwd ()
used on the system. */
fcwd_access_t **f_cwd_ptr = find_fast_cwd_pointer ();
if (!f_cwd_ptr)
- small_printf ("Cygwin WARNING:\n"
+ {
+#ifndef __x86_64__
+#ifndef PROCESSOR_ARCHITECTURE_ARM64
+#define PROCESSOR_ARCHITECTURE_ARM64 12
+#endif
+ SYSTEM_INFO si;
+
+ /* Check if we're running in WOW64 on ARM64. Skip the warning as long as
+ there's no solution for finding the FAST_CWD pointer on that system. */
+ if (wincap.is_wow64 ()
+ && (GetNativeSystemInfo (&si),
+ si.wProcessorArchitecture != PROCESSOR_ARCHITECTURE_ARM64))
+#endif
+ small_printf ("Cygwin WARNING:\n"
" Couldn't compute FAST_CWD pointer. This typically occurs if you're using\n"
" an older Cygwin version on a newer Windows. Please update to the latest\n"
" available Cygwin version from https://cygwin.com/. If the problem persists,\n"
" please see https://cygwin.com/problems.html\n\n");
+ }
if (f_cwd_ptr && *f_cwd_ptr)
{
/* Just evaluate structure version. */