-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
fixes #19713; Revert "Remove tlsEmulation enabled from Windows + GCC config" (#19119) #20327
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
Conversation
… [backport:1.6]" This reverts commit 77b696c.
|
It seems to exceed thread local storage size and seems to need more thoughts.
|
|
It is not surprising to see that the compilation needs more tls storage. Two solutions:
typedef struct {tyProc__9axCnCRMUx32AHzFgBrzSMg localRaiseHook__system_2585;
tySequence__aNpJjaoUowCQc7fBn3wtDQ* threadDestructionHandlers__system_2834;
NI threadId__system_3016;
TFrame* framePtr__system_3070;
TSafePoint* excHandler__system_3071;
Exception* currException__system_3072;
GcFrameHeader* gcFramePtr__system_3073;
tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5794;
tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* utcInstance__pureZtimes_1555;
tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* localInstance__pureZtimes_1556;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* ownArgv__pureZos_1617;
NIM_BOOL ownParsedArgv__pureZos_1618;
tyObject_PTerminalcolonObjectType___EcU8GhMNGo9bGDXbfqZ82og* gTerm__pureZterminal_17;
tyArray__b9c59bIypTigCSkwUynjAeZg cache__ropes_44;
tyObject_Gconfig__06LLZM9btHCEc6WftruBy5g gconfig__ast_987;
} NimThreadVars; |
|
It seems reasonable for the Nim compiler to rely on |
|
I have to remove |
|
Thanks for your hard work on this PR! Hint: mm: orc; threads: on; opt: speed; options: -d:release |
…s + GCC config" (nim-lang#19119) (nim-lang#20327) * Revert "Remove tlsEmulation enabled from Windows + GCC config (nim-lang#19119) [backport:1.6]" This reverts commit 77b696c. * increase nimTlsSize to 48000 * enable for windows * fixes tests * fixes tlsEmulation:on
This reverts commit 77b696c.
fixes #19713
Turning off
tlsEmulationcauses an implicit dependency onlibwinpthreads.dll, which is a surprising regression for users using mingw on Windows. Because all working programs need to shiplibwinthreads.dllon end-users's computers. By default, it shouldn't requirelibwinpthreads.dll, otherwise it might break the simplest programs written in Nim implicitly.tlsEmulationdoesn't work with the Nim compiler since it has a huge rope cache which is athreadvarvariable. I turn offtlsEmulationfor the Nim compiler because mingw always shiplibwinpthreads.dlland mingw is a necessity for compiling a Nim program, it is fair to rely on that fact.Summary
tlsEmulationoption for the Nim application which is consistent with former versionstlsEmulationoption for the Nim compiler