[PATCH] D67295: [COFF] Fix to not add archive name to buffer identifiers when they come from thin archives.

Amy Huang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 12 15:04:00 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rL371778: [COFF] Fix to not add archive name to buffer identifiers when they come (authored by akhuang, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D67295?vs=220010&id=220011#toc

Repository:
  rL LLVM

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

https://reviews.llvm.org/D67295

Files:
  lld/trunk/COFF/Driver.cpp
  lld/trunk/test/COFF/thinlto-index-only.ll


Index: lld/trunk/COFF/Driver.cpp
===================================================================
--- lld/trunk/COFF/Driver.cpp
+++ lld/trunk/COFF/Driver.cpp
@@ -310,9 +310,10 @@
     auto mbOrErr = future->get();
     if (mbOrErr.second)
       reportBufferError(errorCodeToError(mbOrErr.second), childName);
+    // Pass empty string as archive name so that the original filename is
+    // used as the buffer identifier.
     driver->addArchiveBuffer(takeBuffer(std::move(mbOrErr.first)),
-                             toCOFFString(sym), parentName,
-                             /*OffsetInArchive=*/0);
+                             toCOFFString(sym), "", /*OffsetInArchive=*/0);
   });
 }
 
Index: lld/trunk/test/COFF/thinlto-index-only.ll
===================================================================
--- lld/trunk/test/COFF/thinlto-index-only.ll
+++ lld/trunk/test/COFF/thinlto-index-only.ll
@@ -41,6 +41,17 @@
 ; BACKEND2-NEXT: <COMBINED
 ; BACKEND2-NEXT: </GLOBALVAL_SUMMARY_BLOCK
 
+; Thin archive tests. Check that the module paths point to the original files.
+; RUN: rm -rf %t
+; RUN: mkdir %t
+; RUN: opt -thinlto-bc -o %t/foo.obj < %s
+; RUN: opt -thinlto-bc -o %t/bar.obj < %p/Inputs/thinlto.ll
+; RUN: llvm-ar rcsT %t5.lib %t/bar.obj %t3.obj
+; RUN: lld-link -thinlto-index-only -entry:main %t/foo.obj %t5.lib
+; RUN: llvm-dis -o - %t/foo.obj.thinlto.bc | FileCheck %s --check-prefix=THINARCHIVE
+; THINARCHIVE: ^0 = module: (path: "{{.*}}foo.obj",
+; THINARCHIVE: ^1 = module: (path: "{{.*}}bar.obj",
+
 target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-pc-windows-msvc19.0.24215"
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67295.220011.patch
Type: text/x-patch
Size: 1678 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190912/95cb9083/attachment.bin>


More information about the llvm-commits mailing list