[llvm-bugs] [Bug 34864] New: Deadlock inside llvm::parallel::TaskList::spawn stops LLD compiled with MinGW-w64

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Oct 6 12:14:09 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=34864

            Bug ID: 34864
           Summary: Deadlock inside llvm::parallel::TaskList::spawn stops
                    LLD compiled with MinGW-w64
           Product: libraries
           Version: trunk
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Support Libraries
          Assignee: unassignedbugs at nondot.org
          Reporter: vasek.gello at gmail.com
                CC: llvm-bugs at lists.llvm.org

I managed to build the latest trunk with MinGW-w64 GCC 7.1.0 (posix-seh) and it
works fine producing cross-platform code.

During the tests I noticed that linking an ELF target on Windows host platform
with LLD results in a deadlock in llvm::parallel::TaskList::spawn (basically,
here: https://llvm.org/doxygen/Parallel_8cpp_source.html#l0098 ). The correct
ELF file is produced only if -Wlm--no-threads switch is added to clang command
line.

I tried to change the add() function like described here:
https://stackoverflow.com/questions/15912322/condition-variable-deadlock but
the deadlock moved into ~Latch destructor.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20171006/46b067fd/attachment.html>


More information about the llvm-bugs mailing list