[PATCH] D27218: Prefix path when displaying thin archives

Mark Santaniello via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 1 07:05:33 PST 2016


marksantaniello updated the summary for this revision.
marksantaniello updated this revision to Diff 79906.
marksantaniello added a comment.

Fix new test (added in https://reviews.llvm.org/D27217) so it still passes.


https://reviews.llvm.org/D27218

Files:
  test/Object/archive-thin-create.test
  test/Object/archive-toc.test
  tools/llvm-ar/llvm-ar.cpp


Index: tools/llvm-ar/llvm-ar.cpp
===================================================================
--- tools/llvm-ar/llvm-ar.cpp
+++ tools/llvm-ar/llvm-ar.cpp
@@ -359,6 +359,11 @@
     outs() << ' ' << ModTimeOrErr.get();
     outs() << ' ';
   }
+
+  if (C.getParent()->isThin()) {
+    outs() << sys::path::parent_path(ArchiveName);
+    outs() << sys::path::get_separator();
+  }
   outs() << Name << "\n";
 }
 
Index: test/Object/archive-toc.test
===================================================================
--- test/Object/archive-toc.test
+++ test/Object/archive-toc.test
@@ -1,46 +1,48 @@
+RUN: cd %p
+
 Test reading an archive created by gnu ar
-RUN: env TZ=GMT llvm-ar tv %p/Inputs/GNU.a | FileCheck %s --check-prefix=GNU -strict-whitespace
+RUN: env TZ=GMT llvm-ar tv Inputs/GNU.a | FileCheck %s --check-prefix=GNU -strict-whitespace
 
 GNU:      rw-r--r-- 500/500      8 2004-11-19 02:57:37.000000000 evenlen
 GNU-NEXT: rw-r--r-- 500/500      7 2004-11-19 02:57:21.000000000 oddlen
 GNU-NEXT: rwxr-xr-x 500/500   1465 2004-11-19 03:01:31.000000000 very_long_bytecode_file_name.bc
 GNU-NEXT: rw-r--r-- 500/500   2280 2004-11-19 03:04:30.000000000 IsNAN.o
 
 
 Test reading an archive createdy by Mac OS X ar
-RUN: env TZ=GMT llvm-ar tv %p/Inputs/MacOSX.a | FileCheck %s --check-prefix=OSX -strict-whitespace
+RUN: env TZ=GMT llvm-ar tv Inputs/MacOSX.a | FileCheck %s --check-prefix=OSX -strict-whitespace
 
 OSX-NOT: __.SYMDEF
 OSX:      rw-r--r-- 501/501      8 2004-11-19 02:57:37.000000000 evenlen
 OSX-NEXT: rw-r--r-- 501/501      8 2004-11-19 02:57:21.000000000 oddlen
 OSX-NEXT: rw-r--r-- 502/502   1465 2010-02-04 06:59:14.000000000 very_long_bytecode_file_name.bc
 OSX-NEXT: rw-r--r-- 501/501   2280 2004-11-19 04:32:06.000000000 IsNAN.o
 
 Test reading an archive created on Solaris by /usr/ccs/bin/ar
-RUN: env TZ=GMT llvm-ar tv %p/Inputs/SVR4.a | FileCheck %s -strict-whitespace
+RUN: env TZ=GMT llvm-ar tv Inputs/SVR4.a | FileCheck %s -strict-whitespace
 
 Test reading an archive created on Solaris by /usr/xpg4/bin/ar
-RUN: env TZ=GMT llvm-ar tv %p/Inputs/xpg4.a | FileCheck %s -strict-whitespace
+RUN: env TZ=GMT llvm-ar tv Inputs/xpg4.a | FileCheck %s -strict-whitespace
 
 CHECK:      rw-r--r-- 1002/102      8 2004-11-19 03:24:02.000000000 evenlen
 CHECK-NEXT: rw-r--r-- 1002/102      7 2004-11-19 03:24:02.000000000 oddlen
 CHECK-NEXT: rwxr-xr-x 1002/102   1465 2004-11-19 03:24:02.000000000 very_long_bytecode_file_name.bc
 CHECK-NEXT: rw-r--r-- 1002/102   2280 2004-11-19 03:24:02.000000000 IsNAN.o
 
 Test reading a thin archive created by gnu ar
-RUN: env TZ=GMT llvm-ar tv %p/Inputs/thin.a | FileCheck %s --check-prefix=THIN -strict-whitespace
+RUN: env TZ=GMT llvm-ar tv Inputs/thin.a | FileCheck %s --check-prefix=THIN -strict-whitespace
 
-THIN:      rw-r--r-- 1000/1000      8 2014-12-16 00:56:27.000000000 evenlen
-THIN-NEXT: rw-r--r-- 1000/1000      7 2014-12-16 00:56:27.000000000 oddlen
-THIN-NEXT: rwxr-xr-x 1000/1000   1465 2014-12-16 00:56:27.000000000 very_long_bytecode_file_name.bc
-THIN-NEXT: rw-r--r-- 1000/1000   2280 2014-12-16 00:56:27.000000000 IsNAN.o
+THIN:      rw-r--r-- 1000/1000      8 2014-12-16 00:56:27.000000000 Inputs/evenlen
+THIN-NEXT: rw-r--r-- 1000/1000      7 2014-12-16 00:56:27.000000000 Inputs/oddlen
+THIN-NEXT: rwxr-xr-x 1000/1000   1465 2014-12-16 00:56:27.000000000 Inputs/very_long_bytecode_file_name.bc
+THIN-NEXT: rw-r--r-- 1000/1000   2280 2014-12-16 00:56:27.000000000 Inputs/IsNAN.o
 
 Test reading an archive with just a symbol table. We use to reject them.
-RUN: llvm-ar tv %p/Inputs/symtab-only.a | FileCheck --allow-empty --check-prefix=EMPTY %s
+RUN: llvm-ar tv Inputs/symtab-only.a | FileCheck --allow-empty --check-prefix=EMPTY %s
 EMPTY-NOT: {{.}}
 
 Test reading a thin archive with directory names.
-RUN: env TZ=GMT llvm-ar tv %p/Inputs/thin-path.a | FileCheck %s --check-prefix=THINPATH -strict-whitespace
+RUN: env TZ=GMT llvm-ar tv Inputs/thin-path.a | FileCheck %s --check-prefix=THINPATH -strict-whitespace
 
-THINPATH: rw-r--r-- 0/0   1224 1970-01-01 00:00:00.000000000 test.o
-THINPATH-NEXT: rw-r--r-- 0/0   1224 1970-01-01 00:00:00.000000000 t/test2.o
+THINPATH: rw-r--r-- 0/0   1224 1970-01-01 00:00:00.000000000 Inputs/test.o
+THINPATH-NEXT: rw-r--r-- 0/0   1224 1970-01-01 00:00:00.000000000 Inputs/t/test2.o
Index: test/Object/archive-thin-create.test
===================================================================
--- test/Object/archive-thin-create.test
+++ test/Object/archive-thin-create.test
@@ -6,9 +6,9 @@
 RUN: llvm-ar qcT foo/libtest.a foo/test1.o
 RUN: llvm-ar qcT foo/libtest.a foo/test1.o
 RUN: llvm-ar qcT foo/libtest.a foo/test2.o
-RUN: llvm-ar t foo/libtest.a | FileCheck %s
+RUN: llvm-ar t foo/libtest.a | FileCheck --match-full-lines %s
 
-CHECK: test1.o
-CHECK: test1.o
-CHECK: test2.o
+CHECK: foo/test1.o
+CHECK: foo/test1.o
+CHECK: foo/test2.o
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27218.79906.patch
Type: text/x-patch
Size: 4885 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161201/163dec29/attachment.bin>


More information about the llvm-commits mailing list