Message ID | b802327069fc6702774460aed60cb5706cc8468a.1615914632.git.fweimer@redhat.com |
---|---|
State | New |
Headers | show |
Series | libpthread removal: NPTL forwarders are gone | expand |
On 16/03/2021 14:31, Florian Weimer via Libc-alpha wrote: > This function is called from __libc_early_init to initialize the > pthread subsystem. LGTM, thanks. Reviewed-by; Adhemerval Zanella <adhemerval.zanella@linaro.org> > --- > elf/libc_early_init.c | 3 +++ > sysdeps/pthread/pthread_early_init.h | 29 ++++++++++++++++++++++++++++ > 2 files changed, 32 insertions(+) > create mode 100644 sysdeps/pthread/pthread_early_init.h > > 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 Ok. > diff --git a/sysdeps/pthread/pthread_early_init.h b/sysdeps/pthread/pthread_early_init.h > new file mode 100644 > index 0000000000..b8bb9b762d > --- /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 */ Double space before '*/'. > Ok.
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..b8bb9b762d --- /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 */