-
Notifications
You must be signed in to change notification settings - Fork 911
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: build LLVM with thread support on Windows #3130
Conversation
Ok, this still doesn't work. I don't know why. I will have to debug this locally at some point. (Note for the future: the "Test TinyGo" step seems to be hanging). |
Tested locally with LLVM 15, which appears to work well?? Let's try it again. |
67789a1
to
91a677a
Compare
Why oh why doesn't this work?? |
91a677a
to
90fec3f
Compare
Trying once more. This time my plan is as follows:
Updates:
|
040ce18
to
8b9deb1
Compare
This should fix a number of concurrency/threading issues. I had to force-disable concurrency in the linker using a hack. I'm not entirely sure what the cause is, possibly the MinGW version (version 12 appears to work for me, while version 11 as used on the GitHub runner image seems to be broken). There are a few ways to fix this in a better way: * Fix the underlying cause (possibly by upgrading to MinGW-w64 12). * Add the `--threads` flag to the LLD MinGW linker, so we can use a regular parameter instead of this hack.
8b9deb1
to
f2303d1
Compare
This passes all tests that are affected by this change, so to me it seems like it's ready for merge. |
Do you also need to remove #3525 for this? |
Makes sense to me, merging! |
It took me just over a year (and many hours debugging this), but we are finally building LLVM with thread support. |
This reverts tinygo-org#3525, because that change didn't seem to stop the CI failures we have been seeing. Instead, I've added thread support in tinygo-org#3130 which IIRC fixed most of the CI crashes. Re-enabling parallelism should improve the performance of TinyGo a bit on Windows.
This should fix a number of concurrency/threading issues.
Ok, last attempt (in a new PR because I can't reopen #2433).