musl/src
Rich Felker 8431d7972f TLS (GNU/C11 thread-local storage) support for static-linked programs
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.
2012-10-04 16:35:46 -04:00
..
aio use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
complex add creal/cimag macros in complex.h (and use them in the functions defs) 2012-03-22 15:54:55 -04:00
conf let sysconf accurately report # of cpus available 2012-05-13 00:44:35 -04:00
crypt add crypt_md5 password hash 2012-09-15 23:41:07 -04:00
ctype fix argument type error on wcwidth function 2012-08-02 21:02:34 -04:00
dirent use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
env TLS (GNU/C11 thread-local storage) support for static-linked programs 2012-10-04 16:35:46 -04:00
errno better description for errno==0 2012-04-16 18:37:53 -04:00
exit further use of _Noreturn, for non-plain-C functions 2012-09-06 23:34:10 -04:00
fcntl move fallocate syscall wrapper to linux-specific syscalls dir 2012-09-08 00:41:11 -04:00
fenv try fixing/optimizing x86_64 fenv exception code 2012-03-17 20:10:02 -04:00
internal TLS (GNU/C11 thread-local storage) support for static-linked programs 2012-10-04 16:35:46 -04:00
ipc fix remaining IPC_64 issue (shmctl) 2012-09-22 16:08:58 -04:00
ldso TLS (GNU/C11 thread-local storage) support for static-linked programs 2012-10-04 16:35:46 -04:00
legacy more close-on-exec fixes, mostly using new "e" flag to fopen 2012-09-29 18:14:46 -04:00
linux move accept4, dup3, and pipe2 to non-linux-specific locations 2012-09-29 17:40:42 -04:00
locale use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
malloc workaround gcc got-register-reload performance problems in malloc 2012-09-14 23:52:51 -04:00
math Merge remote-tracking branch 'nsz/exp' 2012-08-13 21:55:22 -04:00
misc add getopt reset support 2012-09-30 20:00:38 -04:00
mman overhaul sem_open 2012-09-30 19:35:40 -04:00
mq use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
multibyte use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
network fix some more O_CLOEXEC/SOCK_CLOEXEC issues 2012-09-29 17:59:50 -04:00
passwd more close-on-exec fixes, mostly using new "e" flag to fopen 2012-09-29 18:14:46 -04:00
prng ditch the priority inheritance locks; use malloc's version of lock 2012-04-24 16:32:23 -04:00
process use vfork if possible in posix_spawn 2012-09-14 15:32:51 -04:00
regex use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
sched avoid setting nondefault scheduler too 2012-05-03 23:19:29 -04:00
search search: add comments to tsearch_avl.c 2012-05-13 01:50:53 +02:00
select use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
setjmp microblaze port 2012-09-29 01:05:31 -04:00
signal microblaze port 2012-09-29 01:05:31 -04:00
stat use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
stdio add 'e' modifier (close-on-exec) to fopen and fdopen 2012-09-29 18:09:34 -04:00
stdlib use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
string optimize strchrnul/strcspn not to scan string twice on no-match 2012-09-27 17:19:09 -04:00
temp
termios legacy junk compatibility grab-bag 2012-04-18 12:22:24 -04:00
thread TLS (GNU/C11 thread-local storage) support for static-linked programs 2012-10-04 16:35:46 -04:00
time more close-on-exec fixes, mostly using new "e" flag to fopen 2012-09-29 18:14:46 -04:00
unistd move accept4, dup3, and pipe2 to non-linux-specific locations 2012-09-29 17:40:42 -04:00