[newlib-cygwin] cygcheck.cc: Fix downlevel DLL handling

Corinna Vinschen corinna@sourceware.org
Sun Aug 30 19:42:00 GMT 2015


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=e2ae671ce13872ab535a7c50c70bc57bfa53a1bb

commit e2ae671ce13872ab535a7c50c70bc57bfa53a1bb
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Sun Aug 30 21:32:56 2015 +0200

    cygcheck.cc: Fix downlevel DLL handling
    
            * cygcheck.cc (track_down): Skip error output for "api-ms-win-"
            downlevel DLLs.
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/utils/ChangeLog   | 5 +++++
 winsup/utils/cygcheck.cc | 9 +++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog
index e317ae3..1824b8e 100644
--- a/winsup/utils/ChangeLog
+++ b/winsup/utils/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-30  Corinna Vinschen  <corinna@vinschen.de>
+
+	* cygcheck.cc (track_down): Skip error output for "api-ms-win-"
+	downlevel DLLs.
+
 2015-08-03  Corinna Vinschen  <corinna@vinschen.de>
 
 	* strace.cc (main2): Don't call setvbuf on NULL descriptor.
diff --git a/winsup/utils/cygcheck.cc b/winsup/utils/cygcheck.cc
index 5d823e9..a7787ce 100644
--- a/winsup/utils/cygcheck.cc
+++ b/winsup/utils/cygcheck.cc
@@ -1,7 +1,7 @@
 /* cygcheck.cc
 
    Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-   2009, 2010, 2011, 2012, 2013, 2014 Red Hat, Inc.
+   2009, 2010, 2011, 2012, 2013, 2014, 2015 Red Hat, Inc.
 
    This file is part of Cygwin.
 
@@ -764,7 +764,12 @@ track_down (const char *file, const char *suffix, int lvl)
   const char *path = find_on_path (file, suffix, false, true);
   if (!path)
     {
-      display_error ("track_down: could not find %s\n", file);
+      /* The api-ms-win-*.dll files are in system32/downlevel and not in the
+	 DLL search path, so find_on_path doesn't find them.  Since they are
+	 never actually linked against by the executables, they are of no
+	 interest to us.  Skip any error message in not finding them. */
+      if (strncasecmp (file, "api-ms-win-", 11) || strcasecmp (suffix, ".dll"))
+	display_error ("track_down: could not find %s\n", file);
       return false;
     }



More information about the Cygwin-cvs mailing list