/* Define a weak stub function here that will be overridden if the solib uses *emutls.Thefunctionneedstobeadefinition,notjustadeclaration, *becausegoldhasabugwhereitoutputsweak+hiddensymbolsintothe.dynsym
* table. */
__attribute__((weak,visibility("hidden"))) void __emutls_unregister_key(void) {
}
/* Use a priority of 0 to run after any ordinary destructor function. The *prioritysettingmovesthefunctiontowardsthefrontofthe.fini_array
* section. */
__attribute__((destructor(0))) staticvoid __on_dlclose_late(void) {
__emutls_unregister_key();
}
/* CRT_LEGACY_WORKAROUND should only be defined when building *thisfileaspartoftheplatform'sClibrary. * *TheClibraryalreadydefinesafunctionnamed'atexit()' *forbackwardscompatibilitywitholderNDK-generatedbinaries. * *Fornewerones,'atexit'isactuallyembeddedintheC *runtimeobjectsthatarelinkedintothefinalELF *binary(sharedlibraryorexecutable),andwillcall *__cxa_atexit()inordertoun-registeranyatexit() *handlerwhenalibraryisunloaded. * *Thisfunctionmustbeglobal*and*hidden.Onlythe *codeinsidethesameELFbinaryshouldbeabletoaccessit.
*/
#ifdef CRT_LEGACY_WORKAROUND # include "__dso_handle.h" #else # include "__dso_handle_so.h" # include "atexit.h" #endif #include"pthread_atfork.h"
Messung V0.5 in Prozent
[zur Elbe Produktseite wechseln0.6QuellennavigatorsAnalyse erneut starten2026-09-27]