<div dir="ltr">It is much easier than I thought. Nice!</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 2, 2016 at 6:54 AM, Rafael Espindola via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: rafael<br>
Date: Mon May  2 08:54:10 2016<br>
New Revision: 268229<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=268229&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=268229&view=rev</a><br>
Log:<br>
Copy thin archive members with --reproduce.<br>
<br>
Added:<br>
    lld/trunk/test/ELF/reproduce-thin-archive.s<br>
Modified:<br>
    lld/trunk/ELF/InputFiles.cpp<br>
<br>
Modified: lld/trunk/ELF/InputFiles.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.cpp?rev=268229&r1=268228&r2=268229&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.cpp?rev=268229&r1=268228&r2=268229&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/ELF/InputFiles.cpp (original)<br>
+++ lld/trunk/ELF/InputFiles.cpp Mon May  2 08:54:10 2016<br>
@@ -372,6 +372,9 @@ MemoryBufferRef ArchiveFile::getMember(c<br>
   if (!Seen.insert(C.getChildOffset()).second)<br>
     return MemoryBufferRef();<br>
<br>
+  if (!Config->Reproduce.empty() && C.getParent()->isThin())<br>
+    copyInputFile(check(C.getFullName()));<br>
+<br>
   return check(C.getMemoryBufferRef(),<br>
                "could not get the buffer for the member defining symbol " +<br>
                    Sym->getName());<br>
<br>
Added: lld/trunk/test/ELF/reproduce-thin-archive.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/reproduce-thin-archive.s?rev=268229&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/reproduce-thin-archive.s?rev=268229&view=auto</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/reproduce-thin-archive.s (added)<br>
+++ lld/trunk/test/ELF/reproduce-thin-archive.s Mon May  2 08:54:10 2016<br>
@@ -0,0 +1,14 @@<br>
+# REQUIRES: x86, shell<br>
+<br>
+# RUN: rm -rf %t.dir<br>
+# RUN: mkdir -p %t.dir<br>
+# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.dir/foo.o<br>
+# RUN: cd %t.dir<br>
+# RUN: llvm-ar rcT foo.a foo.o<br>
+# RUN: ld.lld -m elf_x86_64 foo.a -o bar --reproduce repro<br>
+# RUN: diff foo.a repro/%:t.dir/foo.a<br>
+# RUN: diff foo.o repro/%:t.dir/foo.o<br>
+<br>
+.globl _start<br>
+_start:<br>
+  nop<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>