[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:03:45 PDT 2019
akhuang updated this revision to Diff 220010.
akhuang added a comment.
rebase
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67295/new/
https://reviews.llvm.org/D67295
Files:
lld/COFF/Driver.cpp
lld/test/COFF/thinlto-index-only.ll
Index: lld/test/COFF/thinlto-index-only.ll
===================================================================
--- lld/test/COFF/thinlto-index-only.ll
+++ lld/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"
Index: lld/COFF/Driver.cpp
===================================================================
--- lld/COFF/Driver.cpp
+++ lld/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);
});
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67295.220010.patch
Type: text/x-patch
Size: 1642 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190912/bbfa4f9a/attachment.bin>
More information about the llvm-commits
mailing list