Commit 5b930ddf authored by Hans Wennborg's avatar Hans Wennborg
Browse files

Merging r322041:

------------------------------------------------------------------------
r322041 | ruiu | 2018-01-08 15:12:42 -0800 (Mon, 08 Jan 2018) | 9 lines

Do not use parallelForEach to call maybeCompress().

Currently LLVM's paralellForEach has a problem with reentracy.
That caused https://bugs.llvm.org/show_bug.cgi?id=35788 (lld somtimes
hangs while linking Ruby 2.4) because maybeCompress calls writeTo which
uses paralellForEach.

This patch is to avoid using paralellForEach to call maybeCompress
to workaround the issue.
------------------------------------------------------------------------

llvm-svn: 322647
parent df84b50e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -432,8 +432,8 @@ template <class ELFT> void Writer<ELFT>::run() {
  // If -compressed-debug-sections is specified, we need to compress
  // .debug_* sections. Do it right now because it changes the size of
  // output sections.
  parallelForEach(OutputSections,
                  [](OutputSection *Sec) { Sec->maybeCompress<ELFT>(); });
  for (OutputSection *Sec : OutputSections)
    Sec->maybeCompress<ELFT>();

  Script->allocateHeaders(Phdrs);