musl - musl - an implementation of the standard library for Linux-based systems

index : musl
musl - an implementation of the standard library for Linux-based systems
summary refs log tree commit diff
path: root/src/internal/libc.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012年10月04日 16:35:46 -0400
committerRich Felker <dalias@aerifal.cx>2012年10月04日 16:35:46 -0400
commit8431d7972fd9be0fdcaff8516316d748e81724bb (patch)
tree53800c9deeaf26a9fedc5f9f574d9694315b510c /src/internal/libc.h
parentadefe830dd376be386df5650a09c313c483adf1a (diff)
downloadmusl-8431d7972fd9be0fdcaff8516316d748e81724bb.tar.gz
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.
Diffstat (limited to 'src/internal/libc.h')
-rw-r--r--src/internal/libc.h 1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/internal/libc.h b/src/internal/libc.h
index ea863d67..ca06f319 100644
--- a/src/internal/libc.h
+++ b/src/internal/libc.h
@@ -16,6 +16,7 @@ struct __libc {
int canceldisable;
FILE *ofl_head;
int ofl_lock[2];
+ volatile size_t tls_size, tls_cnt;
};
extern size_t __hwcap;
generated by cgit v1.2.1 (git 2.18.0) at 2025年09月09日 21:28:00 +0000

AltStyle によって変換されたページ (->オリジナル) /