musl/src
Rich Felker 0f66fcec25 stabilize dynamic linker's layout of static TLS
previously, the layout of the static TLS block was perturbed by the
size of the dtv; dtv size increasing from 0 to 1 perturbed both TLS
arch types, and the TLS-above-TP type's layout was perturbed by the
specific number of dtv slots (libraries with TLS). this behavior made
it virtually impossible to setup a tentative thread pointer address
before loading libraries and keep it unchanged as long as the
libraries' TLS size/alignment requirements fit.

the new code fixes the location of the dtv and pthread structure at
opposite ends of the static TLS block so that they will not move
unless size or alignment changes.
2015-04-13 18:07:10 -04:00
..
aio make all objects used with atomic operations volatile 2015-03-03 22:50:02 -05:00
complex complex: add C11 CMPLX macros and replace cpack with them 2012-11-13 01:31:49 +01:00
conf add legacy functions from sysinfo.h duplicating sysconf functionality 2015-03-04 22:10:01 -05:00
crypt add legacy functions setkey() and encrypt() 2014-02-05 11:09:53 -05:00
ctype fix case mapping for U+00DF (ß) 2014-09-05 03:28:00 -04:00
dirent make all objects used with atomic operations volatile 2015-03-03 22:50:02 -05:00
env optimize out setting up robust list with kernel when not needed 2015-04-10 00:54:48 -04:00
errno add support for LC_TIME and LC_MESSAGES translations 2014-07-26 05:36:25 -04:00
exit make all objects used with atomic operations volatile 2015-03-03 22:50:02 -05:00
fcntl fix uninitialized mode variable in openat function 2014-10-31 15:35:24 -04:00
fenv add aarch64 port 2015-03-11 20:12:35 -04:00
internal dynamic linker bootstrap overhaul 2015-04-13 03:04:42 -04:00
ipc semctl: fix UB causing crashes on powerpc 2014-03-13 20:52:34 +01:00
ldso stabilize dynamic linker's layout of static TLS 2015-04-13 18:07:10 -04:00
legacy getloadavg: use sysinfo() instead of /proc/loadavg 2015-02-25 15:37:55 -05:00
linux fix missing argument to syscall in fanotify_mark 2014-06-14 00:10:16 -04:00
locale make all objects used with atomic operations volatile 2015-03-03 22:50:02 -05:00
malloc remove useless check of bin match in malloc 2015-03-04 10:48:00 -05:00
math add aarch64 port 2015-03-11 20:12:35 -04:00
misc add alternate backend support for getgrouplist 2015-03-15 22:32:22 -04:00
mman redesign and simplify vmlock system 2015-04-10 02:27:52 -04:00
mq use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
multibyte fix return value computation in one code path of wcsnrtombs 2014-12-18 16:42:21 -05:00
network fix internal buffer overrun in inet_pton 2015-03-23 09:44:18 -04:00
passwd avoid sending huge names as nscd passwd/group queries 2015-03-15 23:46:22 -04:00
prng make all objects used with atomic operations volatile 2015-03-03 22:50:02 -05:00
process optimize out setting up robust list with kernel when not needed 2015-04-10 00:54:48 -04:00
regex regex: fix character class repetitions 2015-03-27 20:24:30 -04:00
sched fix return value of pthread_getaffinity_np and pthread_setaffinity_np 2014-12-02 22:17:52 -05:00
search remove struct elem entirely from hsearch.c 2014-04-02 18:49:24 -04:00
select support linux kernel apis (new archs) with old syscalls removed 2014-05-29 21:01:32 -04:00
setjmp add aarch64 port 2015-03-11 20:12:35 -04:00
signal add aarch64 port 2015-03-11 20:12:35 -04:00
stat fix failure of fchmodat to report EOPNOTSUPP in the race path 2015-02-05 23:34:27 -05:00
stdio fix getdelim to set the error indicator on all failures 2015-04-04 10:53:09 -04:00
stdlib include cleanups: remove unused headers and add feature test macros 2013-12-12 05:09:18 +00:00
string overhaul optimized x86_64 memset asm 2015-02-26 02:07:08 -05:00
temp ignore access mode bits of flags in mkostemps and functions that use it 2014-10-06 23:13:01 -04:00
termios include cleanups: remove unused headers and add feature test macros 2013-12-12 05:09:18 +00:00
thread allow i386 __set_thread_area to be called more than once 2015-04-13 17:26:08 -04:00
time make all objects used with atomic operations volatile 2015-03-03 22:50:02 -05:00
unistd fix possible isatty false positives and unwanted device state changes 2015-02-23 18:53:01 -05:00