Michal Meloun
6e16d0bc43
Rework alignment handling in __libc_allocate_tls() for Variant I of TLS layout.
...
There are two versions of variant I of TLS
- ARM and aarch64 uses original version of variant I here TP points to
start of TCB followed by aligned TLS segment. Both TCB and TLS must
be aligned to alignment of TLS section. The TCB[0] points to DTV vector
and DTV values are real addresses (without bias).
- MIPS, PowerPC and RISC-V use modified version of variant I,
where TP points (with bias) to TLS and TCB immediately precedes TLS
without any alignment gap. Only TLS should be aligned. The TCB[0]
points to DTV vector and DTV values are biased by constant value (0x8000)
from real addresses.
Take all this in account when allocating memory for TLS structures.
MFC after: 1 month
Reviewed by: kib, mizhka
Tested by: mizhka(on mips)
Differential Revision: https://reviews.freebsd.org/D13378
2017-12-12 11:25:30 +00:00
..
2017-10-31 00:07:04 +00:00
2017-12-03 12:14:34 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-12-12 11:25:30 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-12-06 23:24:11 +00:00
2017-10-08 17:29:43 +00:00
2017-11-12 08:34:25 +00:00
2017-12-03 12:14:34 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-10-05 23:01:33 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-11-03 12:52:59 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-12-07 15:16:17 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-11-30 20:33:45 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:03:36 +00:00
2017-10-31 00:03:36 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-10-16 06:54:26 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-11-03 21:04:22 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-08 12:34:47 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 19:52:30 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:04:07 +00:00
2017-12-06 17:52:01 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-18 14:26:50 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-28 16:25:46 +00:00
2017-11-26 02:00:33 +00:00
2017-07-31 19:07:45 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2017-11-20 19:49:47 +00:00
2017-11-26 02:00:33 +00:00
2017-10-31 00:07:04 +00:00
2017-11-26 16:41:30 +00:00
2017-12-10 23:03:13 +00:00
2017-11-20 19:49:47 +00:00
2017-11-20 20:55:41 +00:00