Summary: | broken destructors of thread_local objects on i686 mingw targets | ||
---|---|---|---|
Product: | gcc | Reporter: | Liu Hao <lh_mouse> |
Component: | target | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | 3dw4rd, alexandre.nunes, emsr, ralphengels, thiago |
Priority: | P3 | Keywords: | wrong-code |
Version: | 7.2.0 | ||
Target Milestone: | --- | ||
Host: | Target: | i?86-mingw | |
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2018-07-17 00:00:00 |
Description
Liu Hao
2017-12-23 04:29:22 UTC
I can confirm that on gcc 7.3.0 / i686-mingw64. We encountered the same issue today, so this thread_local issue is still present also with gcc 8.1.0 i686-gcc-7.3.0-mingw-5.0.3 i686-gcc-8.1.0-mingw-5.0.3 (Note: With the corresponding 64bit gcc all is fine). Could this bug please be assigned to someone? (It seems this is somehwat stalled since months unfortunately ...) Thank you for taking care of this! This can easily be fixed by way of a trampoline that adjusts the parameter. This still is not working causing several boost libraries to fail building when using mingw-w64 compilers (gcc-9.3 and gcc-10.2). Everything works fine with the 64 bit compiler but the i686 compiler reports broken TLS. While we can get around it by disabling the TLS check for libbost_fiber-mt.dll libboost_stacktrace_windbg_cached-mt.dll is another story (halts the build if we skip the TLS check). |