version 1.12, 2019/11/07 22:25:21 |
version 1.13, 2019/11/21 23:06:15 |
Line 85 _rtld_tls_allocate(void) |
|
Line 85 _rtld_tls_allocate(void) |
|
uint8_t *p; |
uint8_t *p; |
|
|
if (initial_thread_tcb == NULL) { |
if (initial_thread_tcb == NULL) { |
#ifdef __HAVE_TLS_VARIANT_II |
#ifdef __HAVE_TLS_VARIANT_I |
tls_allocation = roundup2(tls_size, alignof(max_align_t)); |
|
#else |
|
tls_allocation = tls_size; |
tls_allocation = tls_size; |
|
#else |
|
tls_allocation = roundup2(tls_size, alignof(max_align_t)); |
#endif |
#endif |
|
|
initial_thread_tcb = p = mmap(NULL, |
initial_thread_tcb = p = mmap(NULL, |
Line 152 __libc_static_tls_setup_cb(struct dl_phd |
|
Line 152 __libc_static_tls_setup_cb(struct dl_phd |
|
continue; |
continue; |
tls_initaddr = (void *)(phdr->p_vaddr + data->dlpi_addr); |
tls_initaddr = (void *)(phdr->p_vaddr + data->dlpi_addr); |
tls_initsize = phdr->p_filesz; |
tls_initsize = phdr->p_filesz; |
|
#ifdef __HAVE_TLS_VARIANT_I |
tls_size = phdr->p_memsz; |
tls_size = phdr->p_memsz; |
|
#else |
|
tls_size = roundup2(phdr->p_memsz, phdr->p_align); |
|
#endif |
} |
} |
return 0; |
return 0; |
} |
} |