#include #include #include #include #include #include "syscall.h" #include "atomic.h" #include "libc.h" static void dummy(void) {} weak_alias(dummy, _init); extern weak hidden void (*const __init_array_start)(void), (*const __init_array_end)(void); static void dummy1(void *p) {} weak_alias(dummy1, __init_ssp); #define AUX_CNT 38 #ifdef __GNUC__ __attribute__((__noinline__)) #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]