being static allows it to be inlined in __libc_start_main; inlining should take place at all levels since the function is called exactly once. this further reduces mandatory startup code size for static binaries.
@@ -22,6 +22,9 @@ weak_alias(dummy1, __init_ssp);
extern size_t __hwcap, __sysinfo;
extern char *__progname, *__progname_full;
+#ifndef SHARED
+static
+#endif
void __init_libc(char **envp, char *pn)
{
size_t i, *auxv, aux[AUX_CNT] = { 0 };