1. 当我们使用pthread_create来创建线程的时候, 实际上调用的是__pthread_create_2_1
versioned_symbol (libpthread, __pthread_create_2_1, pthread_create, GLIBC_2_1);
2. 而__pthread_create_2_1里面呢,
根据传入的pthread_attr_t 来分配stack,这个stack可以被thread使用
其调用函数allocate_stack来分配, 这个函数又调用mmap来得到内存
mem = mmap (NULL, size, prot, MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);