History log of /src/lib/libc/tls/tls.c |
Revision | | Date | Author | Comments |
1.16 |
| 30-Nov-2024 |
christos | Create a new header lwp_private.h to contain _lwp_getprivate_fast, _lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that: 1. we don't need special hacks to hide them 2. we can include <lwp.h> where needed to get the necessary prototypes without redefining them locally.
|
1.15 |
| 20-Jan-2024 |
christos | branches: 1.15.2; Catch up with all the lint warnings since exit on warning was disabled. Disable 'missing header declaration' and 'nested extern' warnings for now.
|
1.14 |
| 20-Aug-2020 |
riastradh | mmap MAP_FAILED audit.
|
1.13 |
| 21-Nov-2019 |
nakayama | Fix PR/54074 and PR/54093 completely.
More similar to the ld.elf_so logic, it is necessary to align with p_align first. Also, invert the #ifdef condition for consistency.
Should fix regression for static linking binaries: http://releng.netbsd.org/b5reports/sparc/commits-2019.11.html#2019.11.10.23.39.03 http://releng.netbsd.org/b5reports/sparc64/commits-2019.11.html#2019.11.16.04.10.33
|
1.12 |
| 07-Nov-2019 |
joerg | Mirror the ld.elf_so logic for handling aligning the TLS size. Most noticable, recompute the start of the TLS area for variant I relative to the TCB. This makes a difference when the segment size and base alignment don't agree.
|
1.11 |
| 05-Nov-2019 |
joerg | Use alignof and not size_t for platforms with non-natural base alignments.
|
1.10 |
| 04-Nov-2019 |
joerg | PR 54093: Align static TLS area to max_align_t.
|
1.9 |
| 13-Jul-2018 |
joerg | branches: 1.9.2; Determine dynamic binaries by presence of PT_INTERP. Static PIE has _DYNAMIC.
|
1.8 |
| 14-Dec-2014 |
chs | branches: 1.8.14; 1.8.16; fix powerpc TLS problems by removing the hacks for PPC EABI. the kernel no longer treats R2 specially and its use as the TLS register is now handled entirely in userland.
|
1.7 |
| 19-Aug-2013 |
matt | branches: 1.7.4; Put the startup code in .text.startup
|
1.6 |
| 07-Apr-2011 |
matt | branches: 1.6.4; 1.6.10; Add a workaround for older crt0.o that overwrite r2 (tcb pointer). (save tcb pointer using _lwp_setprivate in ld.elf_so and retrieve the tcb via _lwp_getprivate in libc and use it to restore the value in r2).
|
1.5 |
| 18-Mar-2011 |
he | It would be nice if lint knew that abort() will never return. For now just insert a /* NOTREACHED */ comment to fix the build failure.
|
1.4 |
| 17-Mar-2011 |
skrll | Appease the hppa linker.
|
1.3 |
| 12-Mar-2011 |
matt | Use __lwp_settcb if available.
|
1.2 |
| 09-Mar-2011 |
joerg | Define namespace remap macros before including sys/tls.h.
|
1.1 |
| 09-Mar-2011 |
joerg | Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports _rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to setup the thread private area of all new threads. ld.elf_so is responsible for setting up the private area for the initial thread. Similar functions are called from _libc_init for static binaries, using dl_iterate_phdr to access the ELF Program Header.
Add test cases to exercise the different TLS storage models. Test cases are compiled and installed on all platforms, but are skipped on platforms not marked for TLS support.
This material is based upon work partially supported by The NetBSD Foundation under a contract with Joerg Sonnenberger.
It is inspired by the TLS support in FreeBSD by Doug Rabson and the clean ups of the DragonFly port of the original FreeBSD modifications.
|
1.6.10.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.6.4.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.7.4.1 |
| 31-Dec-2014 |
snj | Pull up following revision(s) (requested by chs in ticket #364): lib/libc/tls/tls.c: revision 1.8 libexec/ld.elf_so/tls.c: revision 1.10 sys/arch/powerpc/include/types.h: revision 1.50 sys/arch/powerpc/powerpc/sig_machdep.c: revision 1.44 fix powerpc TLS problems by removing the hacks for PPC EABI. the kernel no longer treats R2 specially and its use as the TLS register is now handled entirely in userland.
|
1.8.16.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.8.16.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.8.14.1 |
| 28-Jul-2018 |
pgoyette | Sync with HEAD
|
1.9.2.1 |
| 26-Nov-2019 |
martin | Pull up following revision(s) (requested by nakayama in ticket #469):
lib/libc/tls/tls.c: revision 1.10 lib/libc/tls/tls.c: revision 1.11 lib/libc/tls/tls.c: revision 1.12 lib/libc/tls/tls.c: revision 1.13 libexec/ld.elf_so/tls.c: revision 1.13 libexec/ld.elf_so/tls.c: revision 1.14 libexec/ld.elf_so/Makefile: revision 1.142 lib/libc/tls/Makefile.inc: revision 1.3 usr.bin/ldd/Makefile.elf: revision 1.6
PR 54093: Align static TLS area to max_align_t. Use alignof and not size_t for platforms with non-natural base alignments.
Mirror the ld.elf_so logic for handling aligning the TLS size. Most noticable, recompute the start of the TLS area for variant I relative to the TCB. This makes a difference when the segment size and base alignment don't agree.
Fix PR/54074 and PR/54093 completely. More similar to the ld.elf_so logic, it is necessary to align with p_align first. Also, invert the #ifdef condition for consistency.
Should fix regression for static linking binaries: http://releng.netbsd.org/b5reports/sparc/commits-2019.11.html#2019.11.10.23.39.03 http://releng.netbsd.org/b5reports/sparc64/commits-2019.11.html#2019.11.16.04.10.33
|
1.15.2.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|