<div dir="ltr">Rafael,<div><br></div><div>I think this change breaks sanitizer-windows bot. Could you fix it or roll it back?</div><div><br></div><div><a href="http://lab.llvm.org:8011/builders/sanitizer-windows/builds/28597/steps/run%20tests/logs/stdio">http://lab.llvm.org:8011/builders/sanitizer-windows/builds/28597/steps/run%20tests/logs/stdio</a><br></div><div><br></div><div><div>FAILED: bin/lld.exe </div><div>cmd.exe /C "cd . && "C:\Program Files (x86)\CMake\bin\cmake.exe" -E vs_link_exe --intdir=tools\lld\tools\lld\CMakeFiles\lld.dir --manifests  -- C:\PROGRA~2\MICROS~1.0\VC\bin\AMD64_~1\link.exe /nologo @CMakeFiles/lld.rsp  /out:bin\lld.exe /implib:lib\lld.lib /pdb:bin\lld.pdb /version:0.0  /machine:X86 /STACK:10000000 /INCREMENTAL:NO /subsystem:console  && cmd.exe /C "cd /D C:\b\slave\sanitizer-windows\build\tools\lld\tools\lld && "C:\Program Files (x86)\CMake\bin\cmake.exe" -E copy C:/b/slave/sanitizer-windows/build/./bin/lld.exe C:/b/slave/sanitizer-windows/build/./bin/lld-link.exe && cd /D C:\b\slave\sanitizer-windows\build\tools\lld\tools\lld && "C:\Program Files (x86)\CMake\bin\cmake.exe" -E copy C:/b/slave/sanitizer-windows/build/./bin/lld.exe C:/b/slave/sanitizer-windows/build/./bin/ld.lld.exe""</div><div>lldELF.lib(InputSection.cpp.obj) : error LNK2019: unresolved external symbol "enum llvm::zlib::Status __cdecl llvm::zlib::uncompress(class llvm::StringRef,char *,unsigned int &)" (?uncompress@zlib@llvm@@YA?AW4Status@12@VStringRef@2@PADAAI@Z) referenced in function "public: void __thiscall lld::elf::InputSectionBase<struct llvm::object::ELFType<1,1> >::uncompress(void)" (?uncompress@?$InputSectionBase@U?$ELFType@$00$00@object@llvm@@@elf@lld@@QAEXXZ)</div><div><br></div><div><br></div><div>bin\lld.exe : fatal error LNK1120: 1 unresolved externals</div><div><br></div></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 9, 2016 at 12:50 PM Rafael Espindola via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: rafael<br class="gmail_msg">
Date: Fri Sep  9 14:42:11 2016<br class="gmail_msg">
New Revision: 281084<br class="gmail_msg">
<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=281084&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=281084&view=rev</a><br class="gmail_msg">
Log:<br class="gmail_msg">
Compact InputSectionData from 64 to 48 bytes. NFC.<br class="gmail_msg">
<br class="gmail_msg">
Modified:<br class="gmail_msg">
    lld/trunk/ELF/InputSection.cpp<br class="gmail_msg">
    lld/trunk/ELF/InputSection.h<br class="gmail_msg">
<br class="gmail_msg">
Modified: lld/trunk/ELF/InputSection.cpp<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputSection.cpp?rev=281084&r1=281083&r2=281084&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputSection.cpp?rev=281084&r1=281083&r2=281084&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- lld/trunk/ELF/InputSection.cpp (original)<br class="gmail_msg">
+++ lld/trunk/ELF/InputSection.cpp Fri Sep  9 14:42:11 2016<br class="gmail_msg">
@@ -50,8 +50,8 @@ template <class ELFT> size_t InputSectio<br class="gmail_msg">
 template <class ELFT><br class="gmail_msg">
 ArrayRef<uint8_t> InputSectionBase<ELFT>::getSectionData() const {<br class="gmail_msg">
   if (Compressed)<br class="gmail_msg">
-    return ArrayRef<uint8_t>((const uint8_t *)Uncompressed.data(),<br class="gmail_msg">
-                             Uncompressed.size());<br class="gmail_msg">
+    return ArrayRef<uint8_t>((const uint8_t *)UncompressedData.get(),<br class="gmail_msg">
+                             UncompressedDataSize);<br class="gmail_msg">
   return check(this->File->getObj().getSectionContents(this->Header));<br class="gmail_msg">
 }<br class="gmail_msg">
<br class="gmail_msg">
@@ -106,7 +106,10 @@ template <class ELFT> void InputSectionB<br class="gmail_msg">
     fatal(getName(this) + ": unsupported compression type");<br class="gmail_msg">
<br class="gmail_msg">
   StringRef Buf((const char *)Data.data(), Data.size());<br class="gmail_msg">
-  if (zlib::uncompress(Buf, Uncompressed, Hdr->ch_size) != zlib::StatusOK)<br class="gmail_msg">
+  UncompressedDataSize = Hdr->ch_size;<br class="gmail_msg">
+  UncompressedData.reset(new char[UncompressedDataSize]);<br class="gmail_msg">
+  if (zlib::uncompress(Buf, UncompressedData.get(), UncompressedDataSize) !=<br class="gmail_msg">
+      zlib::StatusOK)<br class="gmail_msg">
     fatal(getName(this) + ": error uncompressing section");<br class="gmail_msg">
 }<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
Modified: lld/trunk/ELF/InputSection.h<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputSection.h?rev=281084&r1=281083&r2=281084&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputSection.h?rev=281084&r1=281083&r2=281084&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- lld/trunk/ELF/InputSection.h (original)<br class="gmail_msg">
+++ lld/trunk/ELF/InputSection.h Fri Sep  9 14:42:11 2016<br class="gmail_msg">
@@ -61,8 +61,9 @@ public:<br class="gmail_msg">
<br class="gmail_msg">
   StringRef Name;<br class="gmail_msg">
<br class="gmail_msg">
-  // If a section is compressed, this vector has uncompressed section data.<br class="gmail_msg">
-  SmallVector<char, 0> Uncompressed;<br class="gmail_msg">
+  // If a section is compressed, this has the uncompressed section data.<br class="gmail_msg">
+  std::unique_ptr<char[]> UncompressedData;<br class="gmail_msg">
+  size_t UncompressedDataSize = 0;<br class="gmail_msg">
<br class="gmail_msg">
   std::vector<Relocation> Relocations;<br class="gmail_msg">
 };<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
llvm-commits mailing list<br class="gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="gmail_msg">
</blockquote></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr">Mike<br>Sent from phone</div></div>