/bionic/libc/private/ |
D | bionic_fdtrack.h | 53 bionic_tls& tls = __get_bionic_tls(); \ 55 if (!__predict_false(tls.fdtrack_disabled) && \ 58 tls.fdtrack_disabled = true; \ 64 tls.fdtrack_disabled = false; \ 84 bionic_tls& tls = __get_bionic_tls(); \ 85 if (!__predict_false(tls.fdtrack_disabled) && \ 88 tls.fdtrack_disabled = true; \ 93 tls.fdtrack_disabled = false; \
|
/bionic/libc/bionic/ |
D | bionic_systrace.cpp | 85 bionic_tls& tls = __get_bionic_tls(); in bionic_trace_begin() local 86 if (tls.bionic_systrace_disabled) { in bionic_trace_begin() 89 tls.bionic_systrace_disabled = true; in bionic_trace_begin() 93 tls.bionic_systrace_disabled = false; in bionic_trace_begin() 127 bionic_tls& tls = __get_bionic_tls(); in bionic_trace_end() local 128 if (tls.bionic_systrace_disabled) { in bionic_trace_end() 131 tls.bionic_systrace_disabled = true; in bionic_trace_end() 135 tls.bionic_systrace_disabled = false; in bionic_trace_end()
|
D | pty.cpp | 55 bionic_tls& tls = __get_bionic_tls(); in ptsname() local 56 char* buf = tls.ptsname_buf; in ptsname() 57 int error = ptsname_r(fd, buf, sizeof(tls.ptsname_buf)); in ptsname() 82 bionic_tls& tls = __get_bionic_tls(); in ttyname() local 83 char* buf = tls.ttyname_buf; in ttyname() 84 int error = ttyname_r(fd, buf, sizeof(tls.ttyname_buf)); in ttyname()
|
D | fdtrack.cpp | 51 auto& tls = __get_bionic_tls(); in android_fdtrack_set_enabled() local 52 bool prev = !tls.fdtrack_disabled; in android_fdtrack_set_enabled() 53 tls.fdtrack_disabled = !new_value; in android_fdtrack_set_enabled()
|
D | mntent.cpp | 35 auto& tls = __get_bionic_tls(); in getmntent() local 36 return getmntent_r(fp, &tls.mntent_buf, tls.mntent_strings, sizeof(tls.mntent_strings)); in getmntent()
|
D | strsignal.cpp | 66 bionic_tls& tls = __get_bionic_tls(); in strsignal() local 67 …return const_cast<char*>(__strsignal(signal_number, tls.strsignal_buf, sizeof(tls.strsignal_buf))); in strsignal()
|
D | pthread_create.cpp | 67 void __init_bionic_tls_ptrs(bionic_tcb* tcb, bionic_tls* tls) { in __init_bionic_tls_ptrs() argument 68 tcb->thread()->bionic_tls = tls; in __init_bionic_tls_ptrs() 69 tcb->tls_slot(TLS_SLOT_BIONIC_TLS) = tls; in __init_bionic_tls_ptrs() 86 void __free_temp_bionic_tls(bionic_tls* tls) { in __free_temp_bionic_tls() argument 87 munmap(tls, __BIONIC_ALIGN(sizeof(bionic_tls), page_size())); in __free_temp_bionic_tls() 307 auto tls = reinterpret_cast<bionic_tls*>(mapping.static_tls + layout.offset_bionic_tls()); in __allocate_thread() local 314 __init_bionic_tls_ptrs(tcb, tls); in __allocate_thread() 435 void* tls = &tcb->tls_slot(0); in pthread_create() local 440 __init_user_desc(&tls_descriptor, false, tls); in pthread_create() 441 tls = &tls_descriptor; in pthread_create() [all …]
|
D | strerror.cpp | 100 bionic_tls& tls = __get_bionic_tls(); in strerror() local 101 result = tls.strerror_buf; in strerror() 102 strerror_r(error_number, result, sizeof(tls.strerror_buf)); in strerror()
|
D | pthread_internal.h | 198 __LIBC_HIDDEN__ void __init_bionic_tls_ptrs(bionic_tcb* tcb, bionic_tls* tls); 200 __LIBC_HIDDEN__ void __free_temp_bionic_tls(bionic_tls* tls);
|
D | clone.cpp | 40 extern "C" pid_t __bionic_clone(uint32_t flags, void* child_stack, int* parent_tid, void* tls, int*…
|
/bionic/libc/arch-arm64/bionic/ |
D | __set_tls.c | 31 __LIBC_HIDDEN__ void __set_tls(void* tls) { in __set_tls() argument 32 asm("msr tpidr_el0, %0" : : "r" (tls)); in __set_tls()
|
/bionic/libc/arch-riscv64/bionic/ |
D | __set_tls.c | 31 __LIBC_HIDDEN__ void __set_tls(void* tls) { in __set_tls() argument 32 asm("mv tp, %0" : : "r"(tls)); in __set_tls()
|
/bionic/tests/prebuilt-elf-files/ |
D | gen-libtest_invalid-local-tls.sh | 23 -fpic -shared -o $arch/libtest_invalid-local-tls.so -fno-emulated-tls \
|
/bionic/libc/kernel/uapi/linux/ |
D | sched.h | 47 __aligned_u64 tls; member
|
/bionic/libc/arch-x86/bionic/ |
D | __bionic_clone.S | 19 movl 28(%esp), %esi # tls
|
/bionic/docs/ |
D | README.md | 30 * [Android ELF TLS](elf-tls.md) - details of bionic's ELF TLS implementation.
|
D | elf-tls.md | 4 * [go/android-elf-tls](http://go/android-elf-tls) 33 ![TLS Variant 1 Layout](img/tls-variant1.png) 35 ![TLS Variant 2 Layout](img/tls-variant2.png) 216 * web search: [`"dlopen: cannot load any more object with static TLS"`][glibc-static-tls-error] 228 [glibc-static-tls-error]: https://www.google.com/search?q=%22dlopen:+cannot+load+any+more+object+wi… 503 [ELF TLS prototype]: https://android-review.googlesource.com/q/topic:%22elf-tls-prototype%22+(statu… 586 ![Bionic TLS Layout in Android P](img/bionic-tls-layout-in-p.png) 682 Android, so it could pass an `--tls-variant2` flag to configure lld. 731 * Use an `--android-tls-variant2` flag (or `--bionic-tls-variant2`, we're trying to make [Bionic 747 Add an lld option: `--android-tls[-tcb=SIZE]` [all …]
|
/bionic/tests/ |
D | Android.bp | 332 name: "libtest_invalid-local-tls", 340 srcs: ["prebuilt-elf-files/arm/libtest_invalid-local-tls.so"], 343 srcs: ["prebuilt-elf-files/arm64/libtest_invalid-local-tls.so"], 346 srcs: ["prebuilt-elf-files/x86/libtest_invalid-local-tls.so"], 349 srcs: ["prebuilt-elf-files/x86_64/libtest_invalid-local-tls.so"], 964 "libtest_invalid-local-tls",
|