[lld] r241386 - COFF: Do not use VirtualSize section header field for directive sections.

Rui Ueyama ruiu at google.com
Fri Jul 3 19:26:21 PDT 2015


Author: ruiu
Date: Fri Jul  3 21:26:20 2015
New Revision: 241386

URL: http://llvm.org/viewvc/llvm-project?rev=241386&view=rev
Log:
COFF: Do not use VirtualSize section header field for directive sections.

Looks like clang-cl sets a bogus value to the field, which makes
getSectionContents() to truncate section contents. This patch directly
uses SizeOfRawData field instead of VirtualSize to see if this can
make buildbot green.

Modified:
    lld/trunk/COFF/InputFiles.cpp

Modified: lld/trunk/COFF/InputFiles.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/InputFiles.cpp?rev=241386&r1=241385&r2=241386&view=diff
==============================================================================
--- lld/trunk/COFF/InputFiles.cpp (original)
+++ lld/trunk/COFF/InputFiles.cpp Fri Jul  3 21:26:20 2015
@@ -136,7 +136,8 @@ std::error_code ObjectFile::initializeCh
     if (Name == ".drectve") {
       ArrayRef<uint8_t> Data;
       COFFObj->getSectionContents(Sec, Data);
-      Directives = std::string((const char *)Data.data(), Data.size());
+      Directives = std::string((const char *)Data.data(),
+                               Sec->SizeOfRawData);
       continue;
     }
     if (Name.startswith(".debug"))





More information about the llvm-commits mailing list