[PATCH] D102684: [LLD] Allow disabling the early exit codepath as a build configuration

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 20 12:08:46 PDT 2021


mstorsjo added a comment.

In D102684#2771455 <https://reviews.llvm.org/D102684#2771455>, @rnk wrote:

> I'd be OK with this option, but I think it makes more sense to try to disable the thread pool destructor in the support library. Oh, it looks like that has already been done:
> https://github.com/llvm/llvm-project/blob/main/llvm/lib/Support/Parallel.cpp#L121
>
> Why isn't that working?

I think that might be the case for when using LLVM_LINK_LLVM_DYLIB, but that's not the case I ran into.

The case I identified is when all of LLVM is linked statically (i.e. their destructors are bypassed, as intended), but libc++ is linked in dynamically. So something in the libc++ DLL contains a destructor, which can cause these hangs occasionally. I have no idea offhand what that might be and how that might relate to the LLVM threadpool.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D102684/new/

https://reviews.llvm.org/D102684



More information about the llvm-commits mailing list