summaryrefslogtreecommitdiffstats
path: root/lld/lib/Driver/WinLinkDriver.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2015-02-12 20:33:40 +0000
committerRui Ueyama <ruiu@google.com>2015-02-12 20:33:40 +0000
commit3c3c7d8911f561ae890bb9436555235afd1531d6 (patch)
tree7b6f6283428ae07917d8afc47ff48660756a1522 /lld/lib/Driver/WinLinkDriver.cpp
parent443c7967eacb73b22805bab12e45475ec15feeef (diff)
downloadbcm5719-llvm-3c3c7d8911f561ae890bb9436555235afd1531d6.tar.gz
bcm5719-llvm-3c3c7d8911f561ae890bb9436555235afd1531d6.zip
PECOFF: Don't parse files in .drectve asynchronously.
Looks like there's a race condition around here that caused LLD to crash on Windows. Currently we are parsing libraries specified by .drectve section asynchronously, and something is wrong in that process. Disable the feature for now to make buildbots happy. llvm-svn: 228955
Diffstat (limited to 'lld/lib/Driver/WinLinkDriver.cpp')
-rw-r--r--lld/lib/Driver/WinLinkDriver.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/lld/lib/Driver/WinLinkDriver.cpp b/lld/lib/Driver/WinLinkDriver.cpp
index b29d2350d0d..de6b926f89b 100644
--- a/lld/lib/Driver/WinLinkDriver.cpp
+++ b/lld/lib/Driver/WinLinkDriver.cpp
@@ -1348,10 +1348,8 @@ bool WinLinkDriver::parse(int argc, const char *argv[],
// Add the input files to the linking context.
for (std::unique_ptr<File> &file : files) {
- if (isReadingDirectiveSection) {
- File *f = file.get();
- ctx.getTaskGroup().spawn([f] { f->parse(); });
- }
+ if (isReadingDirectiveSection)
+ file.get()->parse();
ctx.getNodes().push_back(llvm::make_unique<FileNode>(std::move(file)));
}
@@ -1364,10 +1362,8 @@ bool WinLinkDriver::parse(int argc, const char *argv[],
// Add the library files to the library group.
for (std::unique_ptr<File> &file : libraries) {
if (!hasLibrary(ctx, file.get())) {
- if (isReadingDirectiveSection) {
- File *f = file.get();
- ctx.getTaskGroup().spawn([f] { f->parse(); });
- }
+ if (isReadingDirectiveSection)
+ file.get()->parse();
ctx.addLibraryFile(llvm::make_unique<FileNode>(std::move(file)));
}
}
OpenPOWER on IntegriCloud