aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcov-io.cc
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2022-04-26 14:10:09 +0100
committerIain Buclaw <ibuclaw@gdcproject.org>2022-04-26 14:32:11 +0100
commit796b7cbac3d553a91d37c3961b9391fb7e19d0c6 (patch)
tree9efbe189e65e04d19b77e06ab1605eeecbb6c6e3 /gcc/gcov-io.cc
parent41ccd683f0002d7b5127aafc00dcd59e7837f0ab (diff)
downloadgcc-796b7cbac3d553a91d37c3961b9391fb7e19d0c6.zip
gcc-796b7cbac3d553a91d37c3961b9391fb7e19d0c6.tar.gz
gcc-796b7cbac3d553a91d37c3961b9391fb7e19d0c6.tar.bz2
libphobos: Don't call free on the TLS array in the emutls destroy function.
Fixes a segfault seen on Darwin when a GC scan is ran after a thread has been destroyed. As the global emutlsArrays hash still has a reference to the array itself, and tries to iterate all elements. Setting the length to zero frees all allocated elements in the array, and ensures that it is skipped when the _d_emutls_scan is called. libphobos/ChangeLog: * libdruntime/gcc/emutls.d (emutlsDestroyThread): Clear the per-thread TLS array, don't call free().
Diffstat (limited to 'gcc/gcov-io.cc')
0 files changed, 0 insertions, 0 deletions