<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/137779>137779</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[lld] LLD Linker Deadlock
</td>
</tr>
<tr>
<th>Labels</th>
<td>
lld
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zhangtianhao6
</td>
</tr>
</table>
<pre>
The link is suspended when the CMake testCCompiler is tested.
The call stack is as follows:
```
(gdb) bt
#0 0x00007fe103fb6376 in pthread_cond_wait@@GLIBC_2.3.2 () from target:/lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00007fe103c3fe30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from target:/lib/x86_64-linux-gnu/libstdc++.so.6
#2 0x0000558a6bc003fb in llvm::parallelFor(unsigned long, unsigned long, llvm::function_ref<void (unsigned long)>) ()
#3 0x0000558a69dc70f8 in void lld::elf::OutputSection::writeTo<llvm::object::ELFType<(llvm::support::endianness)1, true> >(unsigned char*) ()
#4 0x0000558a69e64216 in void lld::elf::writeResult<llvm::object::ELFType<(llvm::support::endianness)1, true> >() ()
#5 0x0000558a69d32e2c in lld::elf::LinkerDriver::link(llvm::opt::InputArgList&) ()
#6 0x0000558a69d1fd93 in lld::elf::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) ()
#7 0x0000558a69d1e614 in lld::elf::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) ()
#8 0x0000558a69bb4b9c in ?? ()
#9 0x0000558a69bb4270 in main ()
```
link option
```
ld.lld --sysroot=/xx/bin/../sysroot -pie -EL -z relro --hash-style=gnu --eh-frame-hdr -m aarch64linux -dynamic-linker /lib/ld-linux-aarch64.so.1 -o cmTC_26a76 /xx/bin/../sysroot/usr/lib/../lib64/Scrt1.o /xx/bin/../sysroot/usr/lib/../lib64/crti.o /xx/lib64/clang/15.0.4/lib/linux/clang_rt.crtbegin-aarch64.o -L/xx/bin/../sysroot/usr/lib/../lib64 -L/xx/bin/../sysroot/usr/lib CMakeFiles/cmTC_26a76.dir/testCCompiler.c.o /xx/common/lib64/clang/15.0.4/lib/linux/libclang_rt.builtins-aarch64.a -lc /xx/lib64/clang/15.0.4/lib/linux/libclang_rt.builtins-aarch64.a /xx/lib64/clang/15.0.4/lib/linux/clang_rt.crtend-aarch64.o /xx/bin/../sysroot/usr/lib/../lib64/crtn.o
```
What kind of scenarios will cause the linker to freeze?
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0lt9v4ygQx_8a8oJsYfwrfshDmtSnlbI6abfSPUYYxjFXDD7AbbN__Qk7mzTpXm-3p5Mi2YFh5vMdhjHMOXnQACuU36F8u2Cj74xdfeuYPnjJdMdMsWiMOK4QWT90gJXUj1g67EY3gBYg8HMHGvsO8OYzewTswfnNxvSDVGCDZRgAESOyPrngTCnsPOOTI-Zwa5Qyzw6lwQIV5PQja0SXB9EgWuHGT39TgjF5IYSQsoWEpG1TpGWBpcaD7ywwsedGi_0zkx5lBGXkt92nu82exmlMMaLL4Kq1psee2QP4EJHWSjaI1i_LYl9kkZJ6fIkOepwnTm5jZ-IZKE2uCXjaQkoCgfMi-EvXAUF6afT-iVnJGgXz-ERFl2e7Ucu_Rtgrwx9RujkP96OHF5TeI1oE3I9QOy84oneI3gXwYgan38HzfMmKhpOQvgCu1FM_hx6YZUqBqo1FdDnqqTYEVkYfEN3gNwOXle2o-STZQovSzZORAr91UU2yvmuasdIrrErwkrTLgDX5UOqUFVDt_PL76IfRf4Up3CmxVnp4MCjdXIBM8ydwP7_f7-qH4wAo3SC6vJi4cRiMPdmAFpJpDc4hWiVBnLcjoPQeT8wXJbxjFtH1rYzsWgYUGU2Kd2RMzF_Ajcr_r9y3nPlNulMKlM9VcIu4k_oR7NbKJ7DzSDj8VyhmOGF80sPo1_awk85fFe4ctbgOmrSiSn8lKNjPTOqr0Gtr2fHLVG1hSzA3OoRe_6DEyhvNCRRJ9uPwbxS-G-b1CbDseW-ct8D6KQHvzzXGqMvzGnd5Rds0WVNNO4TSGqX1lWmFb21pOTWjnoUFZ8ubtkomndgM0xl6M69ErJTAUeSOzhrjUboNreYF0boJu1DHMaL1aRJHgwQc3e9w9A1bUNbgKOqY6yLnj6H1bQ96xFEEXdRa1kPUCYujHjNmeVdkU-fCkThq1ksezZuNz_1NiVNvO5mHfpbgyGDeP2z2tGBlgf-ZDdF6dPbsbJpSsikyROuv3PokNh9cza2XrxafhxULfa5O8pjE2UVFkPB9em99zK1v4CD1WZbB0e4DJD-9av4411KBCxzn5MVCBourj3bMXynjpu-N_nmJSjZnlc0olZfanVUyHCn-q0n7F4__YQtAi1cb8OFC0LF5e8D-6JjHj1ILbFrsOGhmpXH4WSqFORsdTFemU7l7g1sL8A1QWi_EKhVVWrEFrJIyyytKyqpYdKuUQkvzFgooSVGUVbss84LyskwIbwQrFnJFCc1JRitS5VVexHnZZgnwZZ6UCSxJhTICPZMqDp0pNvawkM6NsErSsiyrhWINKDfdBCkNrZHScCW0q2AeNePBoYwo6by7OPDSq-nyGOzzLd7ttnhu4XgLTIS7zWK0atV5P7j54oJofZC-G5uYmz5kMrTJ-REN1kyfP1pPZKFWT3BPK_p3AAAA___4CDV1">