| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the existing __attribute__((destructor)) function,
unregister_emutls_key, with a function that something else must call
explicitly. We don't want the pthread key deleted at program exit, because
it's unnecessary and because it may delete the key before other tls-using
cleanup code runs. Exposing __emutls_unregister_key allows limiting the
cleanup to dlclose (e.g. by calling it only from crtbegin_so.c).
Reset emutls_key_created so multiple calls to __emutls_unregister_key are
safe.
Bug: b/80453944
Test: manual
Change-Id: I82d13614ae8042d0501fd2ca64f0ef6189669905
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With Android/Bionic, delay deallocation to round 2 of 4. It must run after
C++ thread_local destructors have been called, but before the final 2
rounds, because emutls calls free, and jemalloc then needs another 2
rounds to free its thread-specific data.
Bug: https://github.com/android-ndk/ndk/issues/687
Bug: b/78022094
Test: manual
Test: ./run_tests.py --rebuild --filter emutls-dealloc
Change-Id: I01bd634d97b7d22161b5cc8ca71b3cb94064a03e
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently in emutls.c 'emutls_key_created' is defined within part
of an ifdef, but is accessed outside the ifdef, which can cause
issues in builds where the ifdef is not taken. This CL moves
the #endif to include the new function that accesses 'emutls_key_created'
so that all references to it are within the defining if-def.
Bug: b/72942688
Test: Fix tested in ChromeOS.
Change-Id: Ic1d6760d116b63abaef18f95e38de42af30952e4
|
|
|
|
|
|
| |
Bug:b/71814577
Test:Built toolchain w/change and successfully tested building both platform and kernel images with new toolchain for marlin (pixel) device.
Change-Id: Ia0c6944ce1d78b5bd57d65f705a3f7a59c944202
|
|
Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba
|