2 #include "pthread_impl.h"
6 int pthread_getattr_np(pthread_t t
, pthread_attr_t
*a
)
8 *a
= (pthread_attr_t
){0};
9 a
->_a_detach
= t
->detach_state
>=DT_DETACHED
;
10 a
->_a_guardsize
= t
->guard_size
;
12 a
->_a_stackaddr
= (uintptr_t)t
->stack
;
13 a
->_a_stacksize
= t
->stack_size
;
15 char *p
= (void *)libc
.auxv
;
17 p
+= -(uintptr_t)p
& PAGE_SIZE
-1;
18 a
->_a_stackaddr
= (uintptr_t)p
;
19 while (mremap(p
-l
-PAGE_SIZE
, PAGE_SIZE
, 2*PAGE_SIZE
, 0)==MAP_FAILED
&& errno
==ENOMEM
)