summaryrefslogtreecommitdiff
path: root/src/env/__init_tls.c
AgeCommit message (Collapse)AuthorLines
2012-10-04TLS (GNU/C11 thread-local storage) support for static-linked programsRich Felker-0/+71
the design for TLS in dynamic-linked programs is mostly complete too, but I have not yet implemented it. cost is nonzero but still low for programs which do not use TLS and/or do not use threads (a few hundred bytes of new code, plus dependency on memcpy). i believe it can be made smaller at some point by merging __init_tls and __init_security into __libc_start_main and avoiding duplicate auxv-parsing code. at the same time, I've also slightly changed the logic pthread_create uses to allocate guard pages to ensure that guard pages are not counted towards commit charge.