diff options
author | Florian Weimer <fweimer@redhat.com> | 2021-04-21 19:49:51 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2021-04-21 19:49:51 +0200 |
commit | 1f3ed1e0c8ede2ec0aa8b5913de7abc6791c986f (patch) | |
tree | 1b2f5740b01c70960e6d13338a658bd274a6370f | |
parent | 798cacde768c262d3979ba9c5eb224d6837fd92d (diff) | |
download | glibc-1f3ed1e0c8ede2ec0aa8b5913de7abc6791c986f.tar glibc-1f3ed1e0c8ede2ec0aa8b5913de7abc6791c986f.tar.gz glibc-1f3ed1e0c8ede2ec0aa8b5913de7abc6791c986f.tar.bz2 glibc-1f3ed1e0c8ede2ec0aa8b5913de7abc6791c986f.zip |
pthread: Introduce __pthread_early_init
This function is called from __libc_early_init to initialize the
pthread subsystem.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-rw-r--r-- | elf/libc_early_init.c | 3 | ||||
-rw-r--r-- | sysdeps/pthread/pthread_early_init.h | 29 |
2 files changed, 32 insertions, 0 deletions
diff --git a/elf/libc_early_init.c b/elf/libc_early_init.c index 9b1901a706..525edf1e7d 100644 --- a/elf/libc_early_init.c +++ b/elf/libc_early_init.c @@ -21,6 +21,7 @@ #include <libc-early-init.h> #include <libc-internal.h> #include <lowlevellock.h> +#include <pthread_early_init.h> #include <sys/single_threaded.h> #ifdef SHARED @@ -40,6 +41,8 @@ __libc_early_init (_Bool initial) __libc_initial = initial; #endif + __pthread_early_init (); + #if ENABLE_ELISION_SUPPORT __lll_elision_init (); #endif diff --git a/sysdeps/pthread/pthread_early_init.h b/sysdeps/pthread/pthread_early_init.h new file mode 100644 index 0000000000..9888839744 --- /dev/null +++ b/sysdeps/pthread/pthread_early_init.h @@ -0,0 +1,29 @@ +/* pthread initialization called from __libc_early_init. Generic version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +#ifndef _PTHREAD_EARLY_INIT_H +#define _PTHREAD_EARLY_INIT_H 1 + +static inline void +__pthread_early_init (void) +{ + /* The generic version does not require any additional + initialization. */ +} + +#endif /* _PTHREAD_EARLY_INIT_H */ |