|
Message-Id: <20180306165502.23633-1-vda.linux@googlemail.com> Date: Tue, 6 Mar 2018 17:55:02 +0100 From: Denys Vlasenko <vda.linux@...glemail.com> To: Rich Felker <dalias@...c.org> Cc: Denys Vlasenko <vda.linux@...glemail.com>, musl <musl@...ts.openwall.com> Subject: [PATCH] reduce size of struct __libc by using narrower integers can_do_threads, threaded and secure are boolean flags, can use bytes instead of full word ints. tls_align and page_size are surely smaller than 4GB, no need to use potentially 64-bit size_t. Signed-off-by: Denys Vlasenko <vda.linux@...glemail.com> CC: musl <musl@...ts.openwall.com> --- ldso/dynlink.c | 3 ++- src/internal/libc.h | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ldso/dynlink.c b/ldso/dynlink.c index 9bf6924b..67d36395 100644 --- a/ldso/dynlink.c +++ b/ldso/dynlink.c @@ -124,8 +124,9 @@ static jmp_buf *rtld_fail; static pthread_rwlock_t lock; static struct debug debug; static struct tls_module *tls_tail; -static size_t tls_cnt, tls_offset, tls_align = MIN_TLS_ALIGN; +static size_t tls_cnt, tls_offset; static size_t static_tls_cnt; +static unsigned tls_align = MIN_TLS_ALIGN; static pthread_mutex_t init_fini_lock = { ._m_type = PTHREAD_MUTEX_RECURSIVE }; static struct fdpic_loadmap *app_loadmap; static struct fdpic_dummy_loadmap app_dummy_loadmap; diff --git a/src/internal/libc.h b/src/internal/libc.h index 5e145183..3cd44e90 100644 --- a/src/internal/libc.h +++ b/src/internal/libc.h @@ -18,14 +18,15 @@ struct tls_module { }; struct __libc { - int can_do_threads; - int threaded; - int secure; + char can_do_threads; + char threaded; + char secure; volatile int threads_minus_1; size_t *auxv; struct tls_module *tls_head; - size_t tls_size, tls_align, tls_cnt; - size_t page_size; + size_t tls_size, tls_cnt; + unsigned tls_align; + unsigned page_size; struct __locale_struct global_locale; }; -- 2.16.2
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.