[PATCH] D91891: [lld-macho] Don't warn on non-existent system libraries

Nico Weber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 30 12:05:02 PST 2020


thakis updated this revision to Diff 308446.
thakis added a comment.

update test as discussed over chat


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91891/new/

https://reviews.llvm.org/D91891

Files:
  lld/MachO/Driver.cpp
  lld/test/MachO/syslibroot.test


Index: lld/test/MachO/syslibroot.test
===================================================================
--- lld/test/MachO/syslibroot.test
+++ lld/test/MachO/syslibroot.test
@@ -6,8 +6,9 @@
 CHECK-NONEXISTENT-SYSLIBROOT-NEXT: Framework search paths:
 
 RUN: mkdir -p %t/usr/lib
-RUN: lld -flavor darwinnew -v -syslibroot %t | FileCheck %s -check-prefix CHECK-SYSLIBROOT -DROOT=%t
+RUN: lld -flavor darwinnew -v -syslibroot %t 2>&1 | FileCheck %s -check-prefix CHECK-SYSLIBROOT -DROOT=%t
 
+CHECK-SYSLIBROOT-NOT: directory not found{{.*}}usr/local/lib
 CHECK-SYSLIBROOT: Library search paths:
 CHECK-SYSLIBROOT-NEXT: [[ROOT]]/usr/lib
 
@@ -22,14 +23,6 @@
 CHECK-PATH-WITHOUT-REROOT:      Library search paths:
 CHECK-PATH-WITHOUT-REROOT-NEXT: [[PATH]]
 
-# NOTE: the match here is fuzzy because the default search paths exist on Linux
-# and macOS, but not on Windows (that is we ignore `/var/empty`).  This allows
-# us to run the test uniformly on all the platforms.
-RUN: lld -flavor darwinnew -v -syslibroot /var/empty -syslibroot / 2>&1 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-IGNORED
-
-CHECK-SYSLIBROOT-IGNORED: /usr/lib
-CHECK-SYSLIBROOT-IGNORED: /usr/local/lib
-
 RUN: mkdir -p %t.2/usr/lib
 RUN: lld -flavor darwinnew -v -syslibroot %t -syslibroot %t.2 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-MATRIX -DROOT=%t
 
@@ -37,19 +30,18 @@
 CHECK-SYSLIBROOT-MATRIX: [[ROOT]]/usr/lib
 CHECK-SYSLIBROOT-MATRIX: [[ROOT]].2/usr/lib
 
+RUN: lld -flavor darwinnew -v -syslibroot %t -syslibroot %t.2 -syslibroot / | FileCheck %s -check-prefix CHECK-SYSLIBROOT-IGNORED -DROOT=%t
+
+CHECK-SYSLIBROOT-IGNORED: Library search paths:
+CHECK-SYSLIBROOT-IGNORED-NOT: [[ROOT]]/usr/lib
+CHECK-SYSLIBROOT-IGNORED-NOT: [[ROOT]].2/usr/lib
+
 RUN: mkdir -p %t/System/Library/Frameworks
 RUN: lld -flavor darwinnew -v -syslibroot %t | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK -DROOT=%t
 
 CHECK-SYSLIBROOT-FRAMEWORK: Framework search paths:
 CHECK-SYSLIBROOT-FRAMEWORK: [[ROOT]]/System/Library/Frameworks
 
-# NOTE: the match here is fuzzy because the default search paths exist on Linux
-# and macOS, but not on Windows (that is we ignore `/var/empty`).  This allows
-# us to run the test uniformly on all the platforms.
-RUN: lld -flavor darwinnew -v -syslibroot /var/empty -syslibroot / 2>&1 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-IGNORED
-
-CHECK-SYSLIBROOT-FRAMEWORK-IGNORED: /System/Library/Framework
-
 RUN: mkdir -p %t/Library/Frameworks
 RUN: mkdir -p %t.2/Library/Frameworks
 RUN: lld -flavor darwinnew -v -syslibroot %t -syslibroot %t.2 -F /Library/Frameworks | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-MATRIX -DROOT=%t
@@ -57,3 +49,9 @@
 CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: Framework search paths:
 CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]]/Library/Frameworks
 CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]].2/Library/Frameworks
+
+RUN: lld -flavor darwinnew -v -syslibroot %t -syslibroot %t.2 -syslibroot / -F /Library/Frameworks | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-IGNORED -DROOT=%t
+
+CHECK-SYSLIBROOT-FRAMEWORK-IGNORED: Framework search paths:
+CHECK-SYSLIBROOT-FRAMEWORK-IGNORED-NOT: [[ROOT]]/Library/Frameworks
+CHECK-SYSLIBROOT-FRAMEWORK-IGNORED-NOT: [[ROOT]].2/Library/Frameworks
Index: lld/MachO/Driver.cpp
===================================================================
--- lld/MachO/Driver.cpp
+++ lld/MachO/Driver.cpp
@@ -178,7 +178,7 @@
     for (auto root : roots) {
       SmallString<261> buffer(root);
       path::append(buffer, path);
-      if (warnIfNotDirectory(optionLetter, buffer))
+      if (fs::is_directory(buffer))
         paths.push_back(saver.save(buffer.str()));
     }
   }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91891.308446.patch
Type: text/x-patch
Size: 3679 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201130/a356cac7/attachment.bin>


More information about the llvm-commits mailing list