/* Internal prototype declarations that don't fit anywhere else.
- Copyright (C) 2000-2020 Free Software Foundation, Inc.
+ Copyright (C) 2000-2022 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
/* Initialize the `__libc_enable_secure' flag. */
extern void __libc_init_secure (void);
-/* This function will be called from _init in init-first.c. */
-extern void __libc_global_ctors (void);
-
/* Discover the tick frequency of the machine if something goes wrong,
we return 0, an impossible hertz. */
extern int __profile_frequency (void);
libc_hidden_proto (__libc_freeres)
/* Free resources stored in thread-local variables on thread exit. */
-extern void __libc_thread_freeres (void);
+extern void __libc_thread_freeres (void)
+#if PTHREAD_IN_LIBC
+ attribute_hidden
+#endif
+ ;
/* Define and initialize `__progname' et. al. */
extern void __init_misc (int, char **, char **) attribute_hidden;
-# if IS_IN (rtld) && !defined NO_RTLD_HIDDEN
+# if IS_IN (rtld)
extern __typeof (__profile_frequency) __profile_frequency attribute_hidden;
# endif
-extern int __libc_multiple_libcs attribute_hidden;
+#ifdef SHARED
+/* True if this libc belongs to the initially loaded program (i.e., it
+ is not for an audit module, not loaded via dlmopen, and not loaded
+ via static dlopen either). */
+extern _Bool __libc_initial attribute_hidden;
+#endif
#endif /* _LIBC_INTERNAL */