#include #include #include #include #include "syscall.h" #include "atomic.h" #include "libc.h" void __init_tls(size_t *); #ifndef SHARED static void dummy() {} weak_alias(dummy, _init); extern void (*const __init_array_start)() __attribute__((weak)); extern void (*const __init_array_end)() __attribute__((weak)); #endif static void dummy1(void *p) {} weak_alias(dummy1, __init_ssp); #define AUX_CNT 38 #ifndef SHARED static #endif void __init_libc(char **envp, char *pn) { size_t i, *auxv, aux[AUX_CNT] = { 0 }; __environ = envp; for (i=0; envp[i]; i++); libc.auxv = auxv = (void *)(envp+i+1); for (i=0; auxv[i]; i+=2) if (auxv[i]