Message ID | 8f2e107e48931e72aa91907b5d74512b1923cc6a.1623956057.git.fweimer@redhat.com |
---|---|
State | New |
Headers | show |
Series | Move librt into libc | expand |
On 17/06/2021 15:57, Florian Weimer via Libc-alpha wrote: > This commit also moves the aio_misc and aio_sigquue helper, > so GLIBC_PRIVATE exports need to be added. > > The symbol was moved using scripts/move-symbol-to-libc.py. LGTM, only a small nit below. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > --- > nptl/pthread_getschedparam.c | 1 + > rt/Makefile | 6 +- > rt/Versions | 23 ++++ > rt/aio_misc.c | 107 ++++++++++++------ > rt/aio_notify.c | 21 +++- > rt/aio_sigqueue.c | 2 +- > sysdeps/generic/aio_misc.h | 43 +++++-- > sysdeps/nptl/aio_misc.h | 4 +- > sysdeps/nptl/pthreadP.h | 1 + > sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 + > sysdeps/unix/sysv/linux/aarch64/librt.abilist | 1 - > sysdeps/unix/sysv/linux/aio_misc.h | 10 +- > sysdeps/unix/sysv/linux/aio_sigqueue.c | 3 +- > sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 + > sysdeps/unix/sysv/linux/alpha/librt.abilist | 1 - > sysdeps/unix/sysv/linux/arc/libc.abilist | 2 + > sysdeps/unix/sysv/linux/arc/librt.abilist | 1 - > sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 + > sysdeps/unix/sysv/linux/arm/be/librt.abilist | 1 - > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 + > sysdeps/unix/sysv/linux/arm/le/librt.abilist | 1 - > sysdeps/unix/sysv/linux/csky/libc.abilist | 2 + > sysdeps/unix/sysv/linux/csky/librt.abilist | 1 - > sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 + > sysdeps/unix/sysv/linux/hppa/librt.abilist | 1 - > sysdeps/unix/sysv/linux/i386/libc.abilist | 2 + > sysdeps/unix/sysv/linux/i386/librt.abilist | 1 - > sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 + > sysdeps/unix/sysv/linux/ia64/librt.abilist | 1 - > .../sysv/linux/m68k/coldfire/libc.abilist | 2 + > .../sysv/linux/m68k/coldfire/librt.abilist | 1 - > .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 + > .../unix/sysv/linux/m68k/m680x0/librt.abilist | 1 - > .../sysv/linux/microblaze/be/libc.abilist | 2 + > .../sysv/linux/microblaze/be/librt.abilist | 1 - > .../sysv/linux/microblaze/le/libc.abilist | 2 + > .../sysv/linux/microblaze/le/librt.abilist | 1 - > .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 + > .../unix/sysv/linux/mips/mips32/librt.abilist | 1 - > .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 + > .../sysv/linux/mips/mips64/n32/libc.abilist | 2 + > .../sysv/linux/mips/mips64/n32/librt.abilist | 1 - > .../sysv/linux/mips/mips64/n64/libc.abilist | 2 + > .../sysv/linux/mips/mips64/n64/librt.abilist | 1 - > sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 + > sysdeps/unix/sysv/linux/nios2/librt.abilist | 1 - > .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 + > .../linux/powerpc/powerpc32/librt.abilist | 1 - > .../powerpc/powerpc32/nofpu/libc.abilist | 2 + > .../linux/powerpc/powerpc64/be/libc.abilist | 2 + > .../linux/powerpc/powerpc64/be/librt.abilist | 1 - > .../linux/powerpc/powerpc64/le/libc.abilist | 2 + > .../linux/powerpc/powerpc64/le/librt.abilist | 1 - > .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 + > .../unix/sysv/linux/riscv/rv32/librt.abilist | 1 - > .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 + > .../unix/sysv/linux/riscv/rv64/librt.abilist | 1 - > .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 + > .../sysv/linux/s390/s390-32/librt.abilist | 1 - > .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 + > .../sysv/linux/s390/s390-64/librt.abilist | 1 - > sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 + > sysdeps/unix/sysv/linux/sh/be/librt.abilist | 1 - > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 + > sysdeps/unix/sysv/linux/sh/le/librt.abilist | 1 - > .../sysv/linux/sparc/sparc32/libc.abilist | 2 + > .../sysv/linux/sparc/sparc32/librt.abilist | 1 - > .../sysv/linux/sparc/sparc64/libc.abilist | 2 + > .../sysv/linux/sparc/sparc64/librt.abilist | 1 - > .../unix/sysv/linux/x86_64/64/libc.abilist | 2 + > .../unix/sysv/linux/x86_64/64/librt.abilist | 1 - > .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 + > .../unix/sysv/linux/x86_64/x32/librt.abilist | 1 - > 73 files changed, 222 insertions(+), 93 deletions(-) > > diff --git a/nptl/pthread_getschedparam.c b/nptl/pthread_getschedparam.c > index a69ed8d8c3..94316cf897 100644 > --- a/nptl/pthread_getschedparam.c > +++ b/nptl/pthread_getschedparam.c > @@ -70,4 +70,5 @@ __pthread_getschedparam (pthread_t threadid, int *policy, > > return result; > } > +libc_hidden_def (__pthread_getschedparam) > strong_alias (__pthread_getschedparam, pthread_getschedparam) Ok. > diff --git a/rt/Makefile b/rt/Makefile > index 329db09c32..ada87c845e 100644 > --- a/rt/Makefile > +++ b/rt/Makefile > @@ -32,12 +32,9 @@ librt-routines = \ > aio_cancel \ > aio_error \ > aio_fsync \ > - aio_misc \ > - aio_notify \ > aio_read \ > aio_read64 \ > aio_return \ > - aio_sigqueue \ > aio_suspend \ > aio_write \ > aio_write64 \ > @@ -60,6 +57,9 @@ librt-routines = \ > timer_settime \ > > $(librt-routines-var) += \ > + aio_misc \ > + aio_notify \ > + aio_sigqueue \ > > tests := tst-shm tst-timer tst-timer2 \ > tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \ Ok. > diff --git a/rt/Versions b/rt/Versions > index 26c6d1ac63..2e991a9d93 100644 > --- a/rt/Versions > +++ b/rt/Versions > @@ -1,12 +1,33 @@ > libc { > + GLIBC_2.1 { > +%if PTHREAD_IN_LIBC > + aio_init; > +%endif > + } > GLIBC_2.2 { > shm_open; > shm_unlink; > } > GLIBC_2.34 { > +%if PTHREAD_IN_LIBC > + aio_init; > +%endif > shm_open; > shm_unlink; > } > +%if PTHREAD_IN_LIBC > + GLIBC_PRIVATE { > + __aio_enqueue_request; > + __aio_find_req; > + __aio_find_req_fd; > + __aio_free_request; > + __aio_notify; > + __aio_notify_only; > + __aio_remove_request; > + __aio_requests_mutex; > + __aio_sigqueue; > + } > +%endif > } > librt { > GLIBC_2.1 { > @@ -16,7 +37,9 @@ librt { > aio_error64; > aio_fsync; > aio_fsync64; > +%if !PTHREAD_IN_LIBC > aio_init; > +%endif > aio_read; > aio_read64; > aio_return; Ok. > diff --git a/rt/aio_misc.c b/rt/aio_misc.c > index b95f07d9d3..d9be8ac33d 100644 > --- a/rt/aio_misc.c > +++ b/rt/aio_misc.c > @@ -21,7 +21,7 @@ > #include <assert.h> > #include <errno.h> > #include <limits.h> > -#include <pthread.h> > +#include <pthreadP.h> > #include <stdlib.h> > #include <unistd.h> > #include <sys/param.h> > @@ -29,6 +29,20 @@ > #include <sys/time.h> > #include <aio_misc.h> > > +#if !PTHREAD_IN_LIBC > +/* The available function names differ outside of libc. (In libc, we > + need to use hidden aliases to avoid the PLT.) */ > +# define __pread __libc_pread > +# define __pthread_attr_destroy pthread_attr_destroy > +# define __pthread_attr_init pthread_attr_init > +# define __pthread_attr_setdetachstate pthread_attr_setdetachstate > +# define __pthread_cond_signal pthread_cond_signal > +# define __pthread_cond_timedwait pthread_cond_timedwait > +# define __pthread_getschedparam pthread_getschedparam > +# define __pthread_setschedparam pthread_setschedparam > +# define __pwrite __libc_pwrite > +#endif > + > #ifndef aio_create_helper_thread > # define aio_create_helper_thread __aio_create_helper_thread > Ok. > @@ -38,12 +52,12 @@ __aio_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), void *arg) > pthread_attr_t attr; > > /* Make sure the thread is created detached. */ > - pthread_attr_init (&attr); > - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > + __pthread_attr_init (&attr); > + __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > > - int ret = pthread_create (threadp, &attr, tf, arg); > + int ret = __pthread_create (threadp, &attr, tf, arg); > > - (void) pthread_attr_destroy (&attr); > + (void) __pthread_attr_destroy (&attr); > return ret; > } > #endif > @@ -271,7 +285,7 @@ void > __aio_init (const struct aioinit *init) > { > /* Get the mutex. */ > - pthread_mutex_lock (&__aio_requests_mutex); > + __pthread_mutex_lock (&__aio_requests_mutex); > > /* Only allow writing new values if the table is not yet allocated. */ > if (pool == NULL) > @@ -287,9 +301,8 @@ __aio_init (const struct aioinit *init) > optim.aio_idle_time = init->aio_idle_time; > > /* Release the mutex. */ > - pthread_mutex_unlock (&__aio_requests_mutex); > + __pthread_mutex_unlock (&__aio_requests_mutex); > } > -weak_alias (__aio_init, aio_init) > > > /* The main function of the async I/O handling. It enqueues requests Ok. > @@ -319,11 +332,11 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation) > } > > /* Compute priority for this request. */ > - pthread_getschedparam (pthread_self (), &policy, ¶m); > + __pthread_getschedparam (__pthread_self (), &policy, ¶m); > prio = param.sched_priority - aiocbp->aiocb.aio_reqprio; > > /* Get the mutex. */ > - pthread_mutex_lock (&__aio_requests_mutex); > + __pthread_mutex_lock (&__aio_requests_mutex); > > last = NULL; > runp = requests; > @@ -340,7 +353,7 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation) > newp = get_elem (); > if (newp == NULL) > { > - pthread_mutex_unlock (&__aio_requests_mutex); > + __pthread_mutex_unlock (&__aio_requests_mutex); > __set_errno (EAGAIN); > return NULL; > } > @@ -454,7 +467,7 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation) > /* If there is a thread waiting for work, then let it know that we > have just given it something to do. */ > if (idle_thread_count > 0) > - pthread_cond_signal (&__aio_new_request_notification); > + __pthread_cond_signal (&__aio_new_request_notification); > } > > if (result == 0) > @@ -469,7 +482,7 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation) > } > > /* Release the mutex. */ > - pthread_mutex_unlock (&__aio_requests_mutex); > + __pthread_mutex_unlock (&__aio_requests_mutex); > > return newp; > } Ok. > @@ -478,14 +491,14 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation) > static void * > handle_fildes_io (void *arg) > { > - pthread_t self = pthread_self (); > + pthread_t self = __pthread_self (); > struct sched_param param; > struct requestlist *runp = (struct requestlist *) arg; > aiocb_union *aiocbp; > int policy; > int fildes; > > - pthread_getschedparam (self, &policy, ¶m); > + __pthread_getschedparam (self, &policy, ¶m); > > do > { > @@ -495,7 +508,7 @@ handle_fildes_io (void *arg) > "get work off the work queue" part of this loop, which is near the > end. */ > if (runp == NULL) > - pthread_mutex_lock (&__aio_requests_mutex); > + __pthread_mutex_lock (&__aio_requests_mutex); > else > { > /* Hopefully this request is marked as running. */ > @@ -511,7 +524,7 @@ handle_fildes_io (void *arg) > { > param.sched_priority = aiocbp->aiocb.__abs_prio; > policy = aiocbp->aiocb.__policy; > - pthread_setschedparam (self, policy, ¶m); > + __pthread_setschedparam (self, policy, ¶m); > } > > /* Process request pointed to by RUNP. We must not be disturbed > @@ -527,11 +540,11 @@ handle_fildes_io (void *arg) > aiocbp->aiocb64.aio_offset)); > else > aiocbp->aiocb.__return_value = > - TEMP_FAILURE_RETRY (__libc_pread (fildes, > - (void *) > - aiocbp->aiocb.aio_buf, > - aiocbp->aiocb.aio_nbytes, > - aiocbp->aiocb.aio_offset)); > + TEMP_FAILURE_RETRY (__pread (fildes, > + (void *) > + aiocbp->aiocb.aio_buf, > + aiocbp->aiocb.aio_nbytes, > + aiocbp->aiocb.aio_offset)); > > if (aiocbp->aiocb.__return_value == -1 && errno == ESPIPE) > /* The Linux kernel is different from others. It returns Ok. > @@ -554,10 +567,10 @@ handle_fildes_io (void *arg) > aiocbp->aiocb64.aio_offset)); > else > aiocbp->aiocb.__return_value = > - TEMP_FAILURE_RETRY (__libc_pwrite (fildes, (const void *) > - aiocbp->aiocb.aio_buf, > - aiocbp->aiocb.aio_nbytes, > - aiocbp->aiocb.aio_offset)); > + TEMP_FAILURE_RETRY (__pwrite (fildes, (const void *) > + aiocbp->aiocb.aio_buf, > + aiocbp->aiocb.aio_nbytes, > + aiocbp->aiocb.aio_offset)); > > if (aiocbp->aiocb.__return_value == -1 && errno == ESPIPE) > /* The Linux kernel is different from others. It returns > @@ -583,7 +596,7 @@ handle_fildes_io (void *arg) > } > > /* Get the mutex. */ > - pthread_mutex_lock (&__aio_requests_mutex); > + __pthread_mutex_lock (&__aio_requests_mutex); > > if (aiocbp->aiocb.__return_value == -1) > aiocbp->aiocb.__error_code = errno; > @@ -626,9 +639,9 @@ handle_fildes_io (void *arg) > wakeup_time.tv_nsec -= 1000000000; > ++wakeup_time.tv_sec; > } > - pthread_cond_timedwait (&__aio_new_request_notification, > - &__aio_requests_mutex, > - &wakeup_time); > + __pthread_cond_timedwait (&__aio_new_request_notification, > + &__aio_requests_mutex, > + &wakeup_time); > --idle_thread_count; > runp = runlist; > } > @@ -651,20 +664,21 @@ handle_fildes_io (void *arg) > up for these other work elements; otherwise, we should try > to create a new thread. */ > if (idle_thread_count > 0) > - pthread_cond_signal (&__aio_new_request_notification); > + __pthread_cond_signal (&__aio_new_request_notification); > else if (nthreads < optim.aio_threads) > { > pthread_t thid; > pthread_attr_t attr; > > /* Make sure the thread is created detached. */ > - pthread_attr_init (&attr); > - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > + __pthread_attr_init (&attr); > + __pthread_attr_setdetachstate (&attr, > + PTHREAD_CREATE_DETACHED); > > /* Now try to start a thread. If we fail, no big deal, > because we know that there is at least one thread (us) > that is working on AIO operations. */ > - if (pthread_create (&thid, &attr, handle_fildes_io, NULL) > + if (__pthread_create (&thid, &attr, handle_fildes_io, NULL) > == 0) > ++nthreads; > } > @@ -672,7 +686,7 @@ handle_fildes_io (void *arg) > } > > /* Release the mutex. */ > - pthread_mutex_unlock (&__aio_requests_mutex); > + __pthread_mutex_unlock (&__aio_requests_mutex); > } > while (runp != NULL); > > @@ -719,3 +733,26 @@ add_request_to_runlist (struct requestlist *newrequest) > runp->next_run = newrequest; > } > } > + Ok. > +#if PTHREAD_IN_LIBC > +libc_hidden_data_def (__aio_requests_mutex) > +libc_hidden_def (__aio_enqueue_request) > +libc_hidden_def (__aio_find_req) > +libc_hidden_def (__aio_find_req_fd) > +libc_hidden_def (__aio_free_request) > +libc_hidden_def (__aio_remove_request) > + > +versioned_symbol (libc, __aio_init, aio_init, GLIBC_2_34); > +# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34) > +compat_symbol (librt, __aio_init, aio_init, GLIBC_2_1); > +# endif > + > +#else /* !PTHREAD_IN_LIBC */ > +librt_hidden_data_def (__aio_requests_mutex) > +librt_hidden_def (__aio_enqueue_request) > +librt_hidden_def (__aio_find_req) > +librt_hidden_def (__aio_find_req_fd) > +librt_hidden_def (__aio_free_request) > +librt_hidden_def (__aio_remove_request) > +weak_alias (__aio_init, aio_init) > +#endif /* !PTHREAD_IN_LIBC */ Ok. > diff --git a/rt/aio_notify.c b/rt/aio_notify.c > index a8d61503d8..432000e34b 100644 > --- a/rt/aio_notify.c > +++ b/rt/aio_notify.c > @@ -18,12 +18,17 @@ > <https://www.gnu.org/licenses/>. */ > > #include <errno.h> > -#include <pthread.h> > +#include <pthreadP.h> > #include <stdlib.h> > #include <unistd.h> > #include <aio_misc.h> > #include <signal.h> > > +#if !PTHREAD_IN_LIBC > +# define __pthread_attr_init pthread_attr_init > +# define __pthread_attr_setdetachstate pthread_attr_setdetachstate > +#endif > + > #ifndef aio_start_notify_thread > # define aio_start_notify_thread() do { } while (0) > #endif > @@ -62,8 +67,8 @@ __aio_notify_only (struct sigevent *sigev) > pattr = (pthread_attr_t *) sigev->sigev_notify_attributes; > if (pattr == NULL) > { > - pthread_attr_init (&attr); > - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > + __pthread_attr_init (&attr); > + __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > pattr = &attr; > } > > @@ -81,7 +86,7 @@ __aio_notify_only (struct sigevent *sigev) > { > nf->func = sigev->sigev_notify_function; > nf->value = sigev->sigev_value; > - if (pthread_create (&tid, pattr, notify_func_wrapper, nf) < 0) > + if (__pthread_create (&tid, pattr, notify_func_wrapper, nf) < 0) > { > free (nf); > result = -1; > @@ -155,3 +160,11 @@ __aio_notify (struct requestlist *req) > waitlist = next; > } > } > + > +#if PTHREAD_IN_LIBC > +libc_hidden_def (__aio_notify) > +libc_hidden_def (__aio_notify_only) > +#else > +librt_hidden_def (__aio_notify) > +librt_hidden_def (__aio_notify_only) > +#endif Ok. > diff --git a/rt/aio_sigqueue.c b/rt/aio_sigqueue.c > index 2f7da00ad3..0ad95ae04c 100644 > --- a/rt/aio_sigqueue.c > +++ b/rt/aio_sigqueue.c > @@ -28,5 +28,5 @@ __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid) > __set_errno (ENOSYS); > return -1; > } > - > +librt_hidden_def (__aio_sigqueue) > stub_warning (__aio_sigqueue) Ok. > diff --git a/sysdeps/generic/aio_misc.h b/sysdeps/generic/aio_misc.h > index e23524cffe..d9bff36e50 100644 > --- a/sysdeps/generic/aio_misc.h > +++ b/sysdeps/generic/aio_misc.h > @@ -87,36 +87,55 @@ struct requestlist > > > /* Lock for global I/O list of requests. */ > -extern pthread_mutex_t __aio_requests_mutex attribute_hidden; > +extern pthread_mutex_t __aio_requests_mutex; > > > /* Enqueue request. */ > extern struct requestlist *__aio_enqueue_request (aiocb_union *aiocbp, > - int operation) > - attribute_hidden; > + int operation); > > /* Find request entry for given AIO control block. */ > -extern struct requestlist *__aio_find_req (aiocb_union *elem) attribute_hidden; > +extern struct requestlist *__aio_find_req (aiocb_union *elem); > > /* Find request entry for given file descriptor. */ > -extern struct requestlist *__aio_find_req_fd (int fildes) attribute_hidden; > +extern struct requestlist *__aio_find_req_fd (int fildes); > > /* Remove request from the list. */ > extern void __aio_remove_request (struct requestlist *last, > - struct requestlist *req, int all) > - attribute_hidden; > + struct requestlist *req, int all); > > /* Release the entry for the request. */ > -extern void __aio_free_request (struct requestlist *req) attribute_hidden; > +extern void __aio_free_request (struct requestlist *req); > > /* Notify initiator of request and tell this everybody listening. */ > -extern void __aio_notify (struct requestlist *req) attribute_hidden; > +extern void __aio_notify (struct requestlist *req); > > /* Notify initiator of request. */ > -extern int __aio_notify_only (struct sigevent *sigev) attribute_hidden; > +extern int __aio_notify_only (struct sigevent *sigev); > > /* Send the signal. */ > -extern int __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid) > - attribute_hidden; > +extern int __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid); > + > +#if PTHREAD_IN_LIBC > +libc_hidden_proto (__aio_enqueue_request) > +libc_hidden_proto (__aio_find_req) > +libc_hidden_proto (__aio_find_req_fd) > +libc_hidden_proto (__aio_free_request) > +libc_hidden_proto (__aio_notify) > +libc_hidden_proto (__aio_notify_only) > +libc_hidden_proto (__aio_remove_request) > +libc_hidden_proto (__aio_requests_mutex) > +libc_hidden_proto (__aio_sigqueue) > +#else > +librt_hidden_proto (__aio_enqueue_request) > +librt_hidden_proto (__aio_find_req) > +librt_hidden_proto (__aio_find_req_fd) > +librt_hidden_proto (__aio_free_request) > +librt_hidden_proto (__aio_notify) > +librt_hidden_proto (__aio_notify_only) > +librt_hidden_proto (__aio_remove_request) > +librt_hidden_proto (__aio_requests_mutex) > +librt_hidden_proto (__aio_sigqueue) > +#endif > > #endif /* aio_misc.h */ > diff --git a/sysdeps/nptl/aio_misc.h b/sysdeps/nptl/aio_misc.h > index a5c439fab5..d85f9c2fef 100644 > --- a/sysdeps/nptl/aio_misc.h > +++ b/sysdeps/nptl/aio_misc.h > @@ -39,7 +39,7 @@ > \ > if (oldval != 0) \ > { \ > - pthread_mutex_unlock (&__aio_requests_mutex); \ > + __pthread_mutex_unlock (&__aio_requests_mutex); \ > \ > int status; \ > do \ > @@ -67,7 +67,7 @@ > else \ > assert (status == 0 || status == EAGAIN); \ > \ > - pthread_mutex_lock (&__aio_requests_mutex); \ > + __pthread_mutex_lock (&__aio_requests_mutex); \ > } \ > } while (0) > Ok. > diff --git a/sysdeps/nptl/pthreadP.h b/sysdeps/nptl/pthreadP.h > index ca96ff073b..374657a2fd 100644 > --- a/sysdeps/nptl/pthreadP.h > +++ b/sysdeps/nptl/pthreadP.h > @@ -337,6 +337,7 @@ libc_hidden_proto (__pthread_get_minstack) > /* Namespace save aliases. */ > extern int __pthread_getschedparam (pthread_t thread_id, int *policy, > struct sched_param *param); > +libc_hidden_proto (__pthread_getschedparam) > extern int __pthread_setschedparam (pthread_t thread_id, int policy, > const struct sched_param *param); > extern int __pthread_mutex_init (pthread_mutex_t *__mutex, Ok. > diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > index 42e240e284..1bc4ffccce 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > @@ -589,6 +589,7 @@ GLIBC_2.17 addseverity F > GLIBC_2.17 adjtime F > GLIBC_2.17 adjtimex F > GLIBC_2.17 advance F > +GLIBC_2.17 aio_init F > GLIBC_2.17 alarm F > GLIBC_2.17 aligned_alloc F > GLIBC_2.17 alphasort F > @@ -2348,6 +2349,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/sysdeps/unix/sysv/linux/aarch64/librt.abilist > index c41e0e675b..66dc3e4457 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist > @@ -5,7 +5,6 @@ GLIBC_2.17 aio_error F > GLIBC_2.17 aio_error64 F > GLIBC_2.17 aio_fsync F > GLIBC_2.17 aio_fsync64 F > -GLIBC_2.17 aio_init F > GLIBC_2.17 aio_read F > GLIBC_2.17 aio_read64 F > GLIBC_2.17 aio_return F Ok. > diff --git a/sysdeps/unix/sysv/linux/aio_misc.h b/sysdeps/unix/sysv/linux/aio_misc.h > index a661cee203..79907544dc 100644 > --- a/sysdeps/unix/sysv/linux/aio_misc.h > +++ b/sysdeps/unix/sysv/linux/aio_misc.h > @@ -42,11 +42,11 @@ __aio_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), > pthread_attr_t attr; > > /* Make sure the thread is created detached. */ > - pthread_attr_init (&attr); > - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > + __pthread_attr_init (&attr); > + __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > > /* The helper thread needs only very little resources. */ > - (void) pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr)); > + (void) __pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr)); I think there is no need the extra cast here. > > /* Block all signals in the helper thread. To do this thoroughly we > temporarily have to block all signals here. */ > @@ -56,13 +56,13 @@ __aio_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), > INTERNAL_SYSCALL_CALL (rt_sigprocmask, SIG_SETMASK, &ss, &oss, > __NSIG_BYTES); > > - int ret = pthread_create (threadp, &attr, tf, arg); > + int ret = __pthread_create (threadp, &attr, tf, arg); > > /* Restore the signal mask. */ > INTERNAL_SYSCALL_CALL (rt_sigprocmask, SIG_SETMASK, &oss, NULL, > __NSIG_BYTES); > > - (void) pthread_attr_destroy (&attr); > + (void) __pthread_attr_destroy (&attr); > return ret; > } > #endif Ok. > diff --git a/sysdeps/unix/sysv/linux/aio_sigqueue.c b/sysdeps/unix/sysv/linux/aio_sigqueue.c > index 398d7a2f1f..bd0da6e763 100644 > --- a/sysdeps/unix/sysv/linux/aio_sigqueue.c > +++ b/sysdeps/unix/sysv/linux/aio_sigqueue.c > @@ -39,8 +39,9 @@ __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid) > info.si_signo = sig; > info.si_code = SI_ASYNCIO; > info.si_pid = caller_pid; > - info.si_uid = getuid (); > + info.si_uid = __getuid (); > info.si_value = val; > > return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info); > } > +libc_hidden_def (__aio_sigqueue) Ok. > diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist > index fad54555dc..5f3bebef8c 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist > @@ -1502,6 +1502,7 @@ GLIBC_2.1 _sys_siglist D 0x200 > GLIBC_2.1 addseverity F > GLIBC_2.1 adjtime F > GLIBC_2.1 adjtimex F > +GLIBC_2.1 aio_init F > GLIBC_2.1 alphasort64 F > GLIBC_2.1 argp_err_exit_status D 0x4 > GLIBC_2.1 argp_error F > @@ -2441,6 +2442,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist > index c4985067f7..94f5ca8b6f 100644 > --- a/sysdeps/unix/sysv/linux/alpha/librt.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F > GLIBC_2.1 aio_error64 F > GLIBC_2.1 aio_fsync F > GLIBC_2.1 aio_fsync64 F > -GLIBC_2.1 aio_init F > GLIBC_2.1 aio_read F > GLIBC_2.1 aio_read64 F > GLIBC_2.1 aio_return F > diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist > index 907716ec39..24d3a3673c 100644 > --- a/sysdeps/unix/sysv/linux/arc/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist > @@ -550,6 +550,7 @@ GLIBC_2.32 addmntent F > GLIBC_2.32 addseverity F > GLIBC_2.32 adjtime F > GLIBC_2.32 adjtimex F > +GLIBC_2.32 aio_init F > GLIBC_2.32 alarm F > GLIBC_2.32 aligned_alloc F > GLIBC_2.32 alphasort F > @@ -2107,6 +2108,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist > index 7ee0b6d324..e53772e428 100644 > --- a/sysdeps/unix/sysv/linux/arc/librt.abilist > +++ b/sysdeps/unix/sysv/linux/arc/librt.abilist > @@ -5,7 +5,6 @@ GLIBC_2.32 aio_error F > GLIBC_2.32 aio_error64 F > GLIBC_2.32 aio_fsync F > GLIBC_2.32 aio_fsync64 F > -GLIBC_2.32 aio_init F > GLIBC_2.32 aio_read F > GLIBC_2.32 aio_read64 F > GLIBC_2.32 aio_return F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > index 50f987a429..582aa645c0 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > @@ -278,6 +278,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > @@ -981,6 +982,7 @@ GLIBC_2.4 addseverity F > GLIBC_2.4 adjtime F > GLIBC_2.4 adjtimex F > GLIBC_2.4 advance F > +GLIBC_2.4 aio_init F > GLIBC_2.4 alarm F > GLIBC_2.4 alphasort F > GLIBC_2.4 alphasort64 F > diff --git a/sysdeps/unix/sysv/linux/arm/be/librt.abilist b/sysdeps/unix/sysv/linux/arm/be/librt.abilist > index 278da67f77..3aa50aa219 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist > @@ -9,7 +9,6 @@ GLIBC_2.4 aio_error F > GLIBC_2.4 aio_error64 F > GLIBC_2.4 aio_fsync F > GLIBC_2.4 aio_fsync64 F > -GLIBC_2.4 aio_init F > GLIBC_2.4 aio_read F > GLIBC_2.4 aio_read64 F > GLIBC_2.4 aio_return F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > index bf9038af84..400eae9ab0 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > @@ -275,6 +275,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > @@ -978,6 +979,7 @@ GLIBC_2.4 addseverity F > GLIBC_2.4 adjtime F > GLIBC_2.4 adjtimex F > GLIBC_2.4 advance F > +GLIBC_2.4 aio_init F > GLIBC_2.4 alarm F > GLIBC_2.4 alphasort F > GLIBC_2.4 alphasort64 F > diff --git a/sysdeps/unix/sysv/linux/arm/le/librt.abilist b/sysdeps/unix/sysv/linux/arm/le/librt.abilist > index 278da67f77..3aa50aa219 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist > @@ -9,7 +9,6 @@ GLIBC_2.4 aio_error F > GLIBC_2.4 aio_error64 F > GLIBC_2.4 aio_fsync F > GLIBC_2.4 aio_fsync64 F > -GLIBC_2.4 aio_init F > GLIBC_2.4 aio_read F > GLIBC_2.4 aio_read64 F > GLIBC_2.4 aio_return F > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist > index afb91f6f43..4cd189d5db 100644 > --- a/sysdeps/unix/sysv/linux/csky/libc.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist > @@ -564,6 +564,7 @@ GLIBC_2.29 addmntent F > GLIBC_2.29 addseverity F > GLIBC_2.29 adjtime F > GLIBC_2.29 adjtimex F > +GLIBC_2.29 aio_init F > GLIBC_2.29 alarm F > GLIBC_2.29 aligned_alloc F > GLIBC_2.29 alphasort F > @@ -2367,6 +2368,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/csky/librt.abilist b/sysdeps/unix/sysv/linux/csky/librt.abilist > index 60400954a3..640230cfc0 100644 > --- a/sysdeps/unix/sysv/linux/csky/librt.abilist > +++ b/sysdeps/unix/sysv/linux/csky/librt.abilist > @@ -5,7 +5,6 @@ GLIBC_2.29 aio_error F > GLIBC_2.29 aio_error64 F > GLIBC_2.29 aio_fsync F > GLIBC_2.29 aio_fsync64 F > -GLIBC_2.29 aio_init F > GLIBC_2.29 aio_read F > GLIBC_2.29 aio_read64 F > GLIBC_2.29 aio_return F > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist > index 125f8a269a..ede6bee0cd 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist > @@ -3,6 +3,7 @@ GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > +GLIBC_2.1 aio_init F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.10 __cxa_at_quick_exit F > @@ -2321,6 +2322,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist b/sysdeps/unix/sysv/linux/hppa/librt.abilist > index 6ac4f0597e..0114c42067 100644 > --- a/sysdeps/unix/sysv/linux/hppa/librt.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F > GLIBC_2.1 aio_error64 F > GLIBC_2.1 aio_fsync F > GLIBC_2.1 aio_fsync64 F > -GLIBC_2.1 aio_init F > GLIBC_2.1 aio_read F > GLIBC_2.1 aio_read64 F > GLIBC_2.1 aio_return F > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist > index 517753bdd1..17063aaaf9 100644 > --- a/sysdeps/unix/sysv/linux/i386/libc.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist > @@ -1475,6 +1475,7 @@ GLIBC_2.1 _sys_errlist D 0x1f4 > GLIBC_2.1 _sys_nerr D 0x4 > GLIBC_2.1 _sys_siglist D 0x100 > GLIBC_2.1 addseverity F > +GLIBC_2.1 aio_init F > GLIBC_2.1 alphasort64 F > GLIBC_2.1 argp_err_exit_status D 0x4 > GLIBC_2.1 argp_error F > @@ -2505,6 +2506,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/i386/librt.abilist b/sysdeps/unix/sysv/linux/i386/librt.abilist > index 6ac4f0597e..0114c42067 100644 > --- a/sysdeps/unix/sysv/linux/i386/librt.abilist > +++ b/sysdeps/unix/sysv/linux/i386/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F > GLIBC_2.1 aio_error64 F > GLIBC_2.1 aio_fsync F > GLIBC_2.1 aio_fsync64 F > -GLIBC_2.1 aio_init F > GLIBC_2.1 aio_read F > GLIBC_2.1 aio_read64 F > GLIBC_2.1 aio_return F > diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist > index 23d0928360..4991b80dd1 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist > @@ -3,6 +3,7 @@ GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > +GLIBC_2.1 aio_init F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.10 __cxa_at_quick_exit F > @@ -2281,6 +2282,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/ia64/librt.abilist b/sysdeps/unix/sysv/linux/ia64/librt.abilist > index fa7f54dd55..2c97c02f21 100644 > --- a/sysdeps/unix/sysv/linux/ia64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F > GLIBC_2.1 aio_error64 F > GLIBC_2.1 aio_fsync F > GLIBC_2.1 aio_fsync64 F > -GLIBC_2.1 aio_init F > GLIBC_2.1 aio_read F > GLIBC_2.1 aio_read64 F > GLIBC_2.1 aio_return F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > index dd5fb50b18..c1d7edf1f9 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > @@ -279,6 +279,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > @@ -969,6 +970,7 @@ GLIBC_2.4 addseverity F > GLIBC_2.4 adjtime F > GLIBC_2.4 adjtimex F > GLIBC_2.4 advance F > +GLIBC_2.4 aio_init F > GLIBC_2.4 alarm F > GLIBC_2.4 alphasort F > GLIBC_2.4 alphasort64 F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist > index 278da67f77..3aa50aa219 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist > @@ -9,7 +9,6 @@ GLIBC_2.4 aio_error F > GLIBC_2.4 aio_error64 F > GLIBC_2.4 aio_fsync F > GLIBC_2.4 aio_fsync64 F > -GLIBC_2.4 aio_init F > GLIBC_2.4 aio_read F > GLIBC_2.4 aio_read64 F > GLIBC_2.4 aio_return F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > index cb1d553361..725280a9db 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > @@ -1473,6 +1473,7 @@ GLIBC_2.1 _sys_errlist D 0x1f4 > GLIBC_2.1 _sys_nerr D 0x4 > GLIBC_2.1 _sys_siglist D 0x100 > GLIBC_2.1 addseverity F > +GLIBC_2.1 aio_init F > GLIBC_2.1 alphasort64 F > GLIBC_2.1 argp_err_exit_status D 0x4 > GLIBC_2.1 argp_error F > @@ -2448,6 +2449,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist > index 6ac4f0597e..0114c42067 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F > GLIBC_2.1 aio_error64 F > GLIBC_2.1 aio_fsync F > GLIBC_2.1 aio_fsync64 F > -GLIBC_2.1 aio_init F > GLIBC_2.1 aio_read F > GLIBC_2.1 aio_read64 F > GLIBC_2.1 aio_return F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > index 6a20a6fdf2..fe9a9c2f09 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > @@ -591,6 +591,7 @@ GLIBC_2.18 addseverity F > GLIBC_2.18 adjtime F > GLIBC_2.18 adjtimex F > GLIBC_2.18 advance F > +GLIBC_2.18 aio_init F > GLIBC_2.18 alarm F > GLIBC_2.18 aligned_alloc F > GLIBC_2.18 alphasort F > @@ -2418,6 +2419,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist > index a14deaabdb..679050b4b7 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist > @@ -5,7 +5,6 @@ GLIBC_2.18 aio_error F > GLIBC_2.18 aio_error64 F > GLIBC_2.18 aio_fsync F > GLIBC_2.18 aio_fsync64 F > -GLIBC_2.18 aio_init F > GLIBC_2.18 aio_read F > GLIBC_2.18 aio_read64 F > GLIBC_2.18 aio_return F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > index 4c21cbb64d..8db8d27e29 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > @@ -591,6 +591,7 @@ GLIBC_2.18 addseverity F > GLIBC_2.18 adjtime F > GLIBC_2.18 adjtimex F > GLIBC_2.18 advance F > +GLIBC_2.18 aio_init F > GLIBC_2.18 alarm F > GLIBC_2.18 aligned_alloc F > GLIBC_2.18 alphasort F > @@ -2415,6 +2416,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist > index a14deaabdb..679050b4b7 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist > @@ -5,7 +5,6 @@ GLIBC_2.18 aio_error F > GLIBC_2.18 aio_error64 F > GLIBC_2.18 aio_fsync F > GLIBC_2.18 aio_fsync64 F > -GLIBC_2.18 aio_init F > GLIBC_2.18 aio_read F > GLIBC_2.18 aio_read64 F > GLIBC_2.18 aio_return F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > index f83ba2f780..b6cd21ace7 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > @@ -1651,6 +1651,7 @@ GLIBC_2.2 _sys_nerr D 0x4 > GLIBC_2.2 _sys_siglist D 0x100 > GLIBC_2.2 _test_and_set F > GLIBC_2.2 addseverity F > +GLIBC_2.2 aio_init F > GLIBC_2.2 alphasort64 F > GLIBC_2.2 argp_err_exit_status D 0x4 > GLIBC_2.2 argp_error F > @@ -2413,6 +2414,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist > index 2c212d29d0..617d124234 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.2 aio_error F > GLIBC_2.2 aio_error64 F > GLIBC_2.2 aio_fsync F > GLIBC_2.2 aio_fsync64 F > -GLIBC_2.2 aio_init F > GLIBC_2.2 aio_read F > GLIBC_2.2 aio_read64 F > GLIBC_2.2 aio_return F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > index 347bbddb94..65d0dcbe04 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > @@ -1649,6 +1649,7 @@ GLIBC_2.2 _sys_nerr D 0x4 > GLIBC_2.2 _sys_siglist D 0x100 > GLIBC_2.2 _test_and_set F > GLIBC_2.2 addseverity F > +GLIBC_2.2 aio_init F > GLIBC_2.2 alphasort64 F > GLIBC_2.2 argp_err_exit_status D 0x4 > GLIBC_2.2 argp_error F > @@ -2411,6 +2412,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > index 26b7ab529b..a2b2e09a63 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > @@ -1650,6 +1650,7 @@ GLIBC_2.2 _sys_nerr D 0x4 > GLIBC_2.2 _sys_siglist D 0x100 > GLIBC_2.2 _test_and_set F > GLIBC_2.2 addseverity F > +GLIBC_2.2 aio_init F > GLIBC_2.2 alphasort64 F > GLIBC_2.2 argp_err_exit_status D 0x4 > GLIBC_2.2 argp_error F > @@ -2419,6 +2420,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist > index 2c212d29d0..617d124234 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.2 aio_error F > GLIBC_2.2 aio_error64 F > GLIBC_2.2 aio_fsync F > GLIBC_2.2 aio_fsync64 F > -GLIBC_2.2 aio_init F > GLIBC_2.2 aio_read F > GLIBC_2.2 aio_read64 F > GLIBC_2.2 aio_return F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > index e667b0e553..78b96a7119 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > @@ -1646,6 +1646,7 @@ GLIBC_2.2 _sys_nerr D 0x4 > GLIBC_2.2 _sys_siglist D 0x200 > GLIBC_2.2 _test_and_set F > GLIBC_2.2 addseverity F > +GLIBC_2.2 aio_init F > GLIBC_2.2 alphasort64 F > GLIBC_2.2 argp_err_exit_status D 0x4 > GLIBC_2.2 argp_error F > @@ -2337,6 +2338,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist > index 2c7d661e56..40749a395c 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.2 aio_error F > GLIBC_2.2 aio_error64 F > GLIBC_2.2 aio_fsync F > GLIBC_2.2 aio_fsync64 F > -GLIBC_2.2 aio_init F > GLIBC_2.2 aio_read F > GLIBC_2.2 aio_read64 F > GLIBC_2.2 aio_return F > diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist > index 89a1cc7da6..98943b6041 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist > @@ -633,6 +633,7 @@ GLIBC_2.21 addseverity F > GLIBC_2.21 adjtime F > GLIBC_2.21 adjtimex F > GLIBC_2.21 advance F > +GLIBC_2.21 aio_init F > GLIBC_2.21 alarm F > GLIBC_2.21 aligned_alloc F > GLIBC_2.21 alphasort F > @@ -2457,6 +2458,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/nios2/librt.abilist b/sysdeps/unix/sysv/linux/nios2/librt.abilist > index f600881b44..de354a6bb8 100644 > --- a/sysdeps/unix/sysv/linux/nios2/librt.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist > @@ -5,7 +5,6 @@ GLIBC_2.21 aio_error F > GLIBC_2.21 aio_error64 F > GLIBC_2.21 aio_fsync F > GLIBC_2.21 aio_fsync64 F > -GLIBC_2.21 aio_init F > GLIBC_2.21 aio_read F > GLIBC_2.21 aio_read64 F > GLIBC_2.21 aio_return F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > index f364c5219e..f5d5c03eb3 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > @@ -1480,6 +1480,7 @@ GLIBC_2.1 _sys_errlist D 0x1f4 > GLIBC_2.1 _sys_nerr D 0x4 > GLIBC_2.1 _sys_siglist D 0x100 > GLIBC_2.1 addseverity F > +GLIBC_2.1 aio_init F > GLIBC_2.1 alphasort64 F > GLIBC_2.1 argp_err_exit_status D 0x4 > GLIBC_2.1 argp_error F > @@ -2475,6 +2476,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist > index 6ac4f0597e..0114c42067 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F > GLIBC_2.1 aio_error64 F > GLIBC_2.1 aio_fsync F > GLIBC_2.1 aio_fsync64 F > -GLIBC_2.1 aio_init F > GLIBC_2.1 aio_read F > GLIBC_2.1 aio_read64 F > GLIBC_2.1 aio_return F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > index f5bcc78afe..6e99869e4c 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > @@ -1480,6 +1480,7 @@ GLIBC_2.1 _sys_errlist D 0x1f4 > GLIBC_2.1 _sys_nerr D 0x4 > GLIBC_2.1 _sys_siglist D 0x100 > GLIBC_2.1 addseverity F > +GLIBC_2.1 aio_init F > GLIBC_2.1 alphasort64 F > GLIBC_2.1 argp_err_exit_status D 0x4 > GLIBC_2.1 argp_error F > @@ -2508,6 +2509,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > index 6032716053..205768e241 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > @@ -633,6 +633,7 @@ GLIBC_2.3 addseverity F > GLIBC_2.3 adjtime F > GLIBC_2.3 adjtimex F > GLIBC_2.3 advance F > +GLIBC_2.3 aio_init F > GLIBC_2.3 alarm F > GLIBC_2.3 alphasort F > GLIBC_2.3 alphasort64 F > @@ -2245,6 +2246,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist > index b3c7afb461..3607639c50 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.3 aio_error F > GLIBC_2.3 aio_error64 F > GLIBC_2.3 aio_fsync F > GLIBC_2.3 aio_fsync64 F > -GLIBC_2.3 aio_init F > GLIBC_2.3 aio_read F > GLIBC_2.3 aio_read64 F > GLIBC_2.3 aio_return F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > index 8c5494e1dc..fccca7ccc6 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > @@ -677,6 +677,7 @@ GLIBC_2.17 addseverity F > GLIBC_2.17 adjtime F > GLIBC_2.17 adjtimex F > GLIBC_2.17 advance F > +GLIBC_2.17 aio_init F > GLIBC_2.17 alarm F > GLIBC_2.17 aligned_alloc F > GLIBC_2.17 alphasort F > @@ -2544,6 +2545,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist > index c41e0e675b..66dc3e4457 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist > @@ -5,7 +5,6 @@ GLIBC_2.17 aio_error F > GLIBC_2.17 aio_error64 F > GLIBC_2.17 aio_fsync F > GLIBC_2.17 aio_fsync64 F > -GLIBC_2.17 aio_init F > GLIBC_2.17 aio_read F > GLIBC_2.17 aio_read64 F > GLIBC_2.17 aio_return F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > index d7db279c1e..1de14d1195 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > @@ -544,6 +544,7 @@ GLIBC_2.33 addmntent F > GLIBC_2.33 addseverity F > GLIBC_2.33 adjtime F > GLIBC_2.33 adjtimex F > +GLIBC_2.33 aio_init F > GLIBC_2.33 alarm F > GLIBC_2.33 aligned_alloc F > GLIBC_2.33 alphasort F > @@ -2109,6 +2110,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist > index c03b8a741e..c588e04ae0 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist > @@ -5,7 +5,6 @@ GLIBC_2.33 aio_error F > GLIBC_2.33 aio_error64 F > GLIBC_2.33 aio_fsync F > GLIBC_2.33 aio_fsync64 F > -GLIBC_2.33 aio_init F > GLIBC_2.33 aio_read F > GLIBC_2.33 aio_read64 F > GLIBC_2.33 aio_return F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > index ef03dc0f9e..fd243b77de 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > @@ -570,6 +570,7 @@ GLIBC_2.27 addmntent F > GLIBC_2.27 addseverity F > GLIBC_2.27 adjtime F > GLIBC_2.27 adjtimex F > +GLIBC_2.27 aio_init F > GLIBC_2.27 alarm F > GLIBC_2.27 aligned_alloc F > GLIBC_2.27 alphasort F > @@ -2309,6 +2310,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist > index 3cc7884927..4be13a5327 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist > @@ -5,7 +5,6 @@ GLIBC_2.27 aio_error F > GLIBC_2.27 aio_error64 F > GLIBC_2.27 aio_fsync F > GLIBC_2.27 aio_fsync64 F > -GLIBC_2.27 aio_init F > GLIBC_2.27 aio_read F > GLIBC_2.27 aio_read64 F > GLIBC_2.27 aio_return F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > index 9118cb68ec..5a9ccc644b 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > @@ -1472,6 +1472,7 @@ GLIBC_2.1 _sys_errlist D 0x1f4 > GLIBC_2.1 _sys_nerr D 0x4 > GLIBC_2.1 _sys_siglist D 0x100 > GLIBC_2.1 addseverity F > +GLIBC_2.1 aio_init F > GLIBC_2.1 alphasort64 F > GLIBC_2.1 argp_err_exit_status D 0x4 > GLIBC_2.1 argp_error F > @@ -2473,6 +2474,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist > index 6ac4f0597e..0114c42067 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F > GLIBC_2.1 aio_error64 F > GLIBC_2.1 aio_fsync F > GLIBC_2.1 aio_fsync64 F > -GLIBC_2.1 aio_init F > GLIBC_2.1 aio_read F > GLIBC_2.1 aio_read64 F > GLIBC_2.1 aio_return F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > index 66c01bd7e7..4b336dcbae 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > @@ -570,6 +570,7 @@ GLIBC_2.2 addseverity F > GLIBC_2.2 adjtime F > GLIBC_2.2 adjtimex F > GLIBC_2.2 advance F > +GLIBC_2.2 aio_init F > GLIBC_2.2 alarm F > GLIBC_2.2 alphasort F > GLIBC_2.2 alphasort64 F > @@ -2282,6 +2283,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist > index 80735b140b..97673a21d4 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.2 aio_error F > GLIBC_2.2 aio_error64 F > GLIBC_2.2 aio_fsync F > GLIBC_2.2 aio_fsync64 F > -GLIBC_2.2 aio_init F > GLIBC_2.2 aio_read F > GLIBC_2.2 aio_read64 F > GLIBC_2.2 aio_return F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > index c40eb412c2..702fc7cd1c 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > @@ -7,6 +7,7 @@ GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > +GLIBC_2.1 aio_init F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.10 __cxa_at_quick_exit F > @@ -2328,6 +2329,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/sh/be/librt.abilist b/sysdeps/unix/sysv/linux/sh/be/librt.abilist > index 6ac4f0597e..0114c42067 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/librt.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F > GLIBC_2.1 aio_error64 F > GLIBC_2.1 aio_fsync F > GLIBC_2.1 aio_fsync64 F > -GLIBC_2.1 aio_init F > GLIBC_2.1 aio_read F > GLIBC_2.1 aio_read64 F > GLIBC_2.1 aio_return F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > index 1412d33835..cca5fe2265 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > @@ -7,6 +7,7 @@ GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > +GLIBC_2.1 aio_init F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.10 __cxa_at_quick_exit F > @@ -2325,6 +2326,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/sh/le/librt.abilist b/sysdeps/unix/sysv/linux/sh/le/librt.abilist > index 6ac4f0597e..0114c42067 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/librt.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F > GLIBC_2.1 aio_error64 F > GLIBC_2.1 aio_fsync F > GLIBC_2.1 aio_fsync64 F > -GLIBC_2.1 aio_init F > GLIBC_2.1 aio_read F > GLIBC_2.1 aio_read64 F > GLIBC_2.1 aio_return F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > index 7b55d34753..937efaaba4 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > @@ -1474,6 +1474,7 @@ GLIBC_2.1 _sys_errlist D 0x1fc > GLIBC_2.1 _sys_nerr D 0x4 > GLIBC_2.1 _sys_siglist D 0x100 > GLIBC_2.1 addseverity F > +GLIBC_2.1 aio_init F > GLIBC_2.1 alphasort64 F > GLIBC_2.1 argp_err_exit_status D 0x4 > GLIBC_2.1 argp_error F > @@ -2466,6 +2467,7 @@ GLIBC_2.34 __wait3_time64 F > GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist > index 100bd4fb76..e4e4569d81 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F > GLIBC_2.1 aio_error64 F > GLIBC_2.1 aio_fsync F > GLIBC_2.1 aio_fsync64 F > -GLIBC_2.1 aio_init F > GLIBC_2.1 aio_read F > GLIBC_2.1 aio_read64 F > GLIBC_2.1 aio_return F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > index cfd5f38864..47f96b1480 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > @@ -7,6 +7,7 @@ GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > +GLIBC_2.1 aio_init F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.10 __cxa_at_quick_exit F > @@ -2302,6 +2303,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist > index c4985067f7..94f5ca8b6f 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F > GLIBC_2.1 aio_error64 F > GLIBC_2.1 aio_fsync F > GLIBC_2.1 aio_fsync64 F > -GLIBC_2.1 aio_init F > GLIBC_2.1 aio_read F > GLIBC_2.1 aio_read64 F > GLIBC_2.1 aio_return F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > index 17be05f14f..4ff62311e9 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > @@ -559,6 +559,7 @@ GLIBC_2.2.5 addseverity F > GLIBC_2.2.5 adjtime F > GLIBC_2.2.5 adjtimex F > GLIBC_2.2.5 advance F > +GLIBC_2.2.5 aio_init F > GLIBC_2.2.5 alarm F > GLIBC_2.2.5 alphasort F > GLIBC_2.2.5 alphasort64 F > @@ -2260,6 +2261,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist > index a3da4f8e6e..bac8c74b5f 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist > @@ -4,7 +4,6 @@ GLIBC_2.2.5 aio_error F > GLIBC_2.2.5 aio_error64 F > GLIBC_2.2.5 aio_fsync F > GLIBC_2.2.5 aio_fsync64 F > -GLIBC_2.2.5 aio_init F > GLIBC_2.2.5 aio_read F > GLIBC_2.2.5 aio_read64 F > GLIBC_2.2.5 aio_return F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > index a9db18906b..e34873201d 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > @@ -592,6 +592,7 @@ GLIBC_2.16 addseverity F > GLIBC_2.16 adjtime F > GLIBC_2.16 adjtimex F > GLIBC_2.16 advance F > +GLIBC_2.16 aio_init F > GLIBC_2.16 alarm F > GLIBC_2.16 aligned_alloc F > GLIBC_2.16 alphasort F > @@ -2363,6 +2364,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 _pthread_cleanup_pop F > GLIBC_2.34 _pthread_cleanup_push F > +GLIBC_2.34 aio_init F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist > index a0069d137b..2e432fe7d6 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist > @@ -5,7 +5,6 @@ GLIBC_2.16 aio_error F > GLIBC_2.16 aio_error64 F > GLIBC_2.16 aio_fsync F > GLIBC_2.16 aio_fsync64 F > -GLIBC_2.16 aio_init F > GLIBC_2.16 aio_read F > GLIBC_2.16 aio_read64 F > GLIBC_2.16 aio_return F > Ok.
diff --git a/nptl/pthread_getschedparam.c b/nptl/pthread_getschedparam.c index a69ed8d8c3..94316cf897 100644 --- a/nptl/pthread_getschedparam.c +++ b/nptl/pthread_getschedparam.c @@ -70,4 +70,5 @@ __pthread_getschedparam (pthread_t threadid, int *policy, return result; } +libc_hidden_def (__pthread_getschedparam) strong_alias (__pthread_getschedparam, pthread_getschedparam) diff --git a/rt/Makefile b/rt/Makefile index 329db09c32..ada87c845e 100644 --- a/rt/Makefile +++ b/rt/Makefile @@ -32,12 +32,9 @@ librt-routines = \ aio_cancel \ aio_error \ aio_fsync \ - aio_misc \ - aio_notify \ aio_read \ aio_read64 \ aio_return \ - aio_sigqueue \ aio_suspend \ aio_write \ aio_write64 \ @@ -60,6 +57,9 @@ librt-routines = \ timer_settime \ $(librt-routines-var) += \ + aio_misc \ + aio_notify \ + aio_sigqueue \ tests := tst-shm tst-timer tst-timer2 \ tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \ diff --git a/rt/Versions b/rt/Versions index 26c6d1ac63..2e991a9d93 100644 --- a/rt/Versions +++ b/rt/Versions @@ -1,12 +1,33 @@ libc { + GLIBC_2.1 { +%if PTHREAD_IN_LIBC + aio_init; +%endif + } GLIBC_2.2 { shm_open; shm_unlink; } GLIBC_2.34 { +%if PTHREAD_IN_LIBC + aio_init; +%endif shm_open; shm_unlink; } +%if PTHREAD_IN_LIBC + GLIBC_PRIVATE { + __aio_enqueue_request; + __aio_find_req; + __aio_find_req_fd; + __aio_free_request; + __aio_notify; + __aio_notify_only; + __aio_remove_request; + __aio_requests_mutex; + __aio_sigqueue; + } +%endif } librt { GLIBC_2.1 { @@ -16,7 +37,9 @@ librt { aio_error64; aio_fsync; aio_fsync64; +%if !PTHREAD_IN_LIBC aio_init; +%endif aio_read; aio_read64; aio_return; diff --git a/rt/aio_misc.c b/rt/aio_misc.c index b95f07d9d3..d9be8ac33d 100644 --- a/rt/aio_misc.c +++ b/rt/aio_misc.c @@ -21,7 +21,7 @@ #include <assert.h> #include <errno.h> #include <limits.h> -#include <pthread.h> +#include <pthreadP.h> #include <stdlib.h> #include <unistd.h> #include <sys/param.h> @@ -29,6 +29,20 @@ #include <sys/time.h> #include <aio_misc.h> +#if !PTHREAD_IN_LIBC +/* The available function names differ outside of libc. (In libc, we + need to use hidden aliases to avoid the PLT.) */ +# define __pread __libc_pread +# define __pthread_attr_destroy pthread_attr_destroy +# define __pthread_attr_init pthread_attr_init +# define __pthread_attr_setdetachstate pthread_attr_setdetachstate +# define __pthread_cond_signal pthread_cond_signal +# define __pthread_cond_timedwait pthread_cond_timedwait +# define __pthread_getschedparam pthread_getschedparam +# define __pthread_setschedparam pthread_setschedparam +# define __pwrite __libc_pwrite +#endif + #ifndef aio_create_helper_thread # define aio_create_helper_thread __aio_create_helper_thread @@ -38,12 +52,12 @@ __aio_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), void *arg) pthread_attr_t attr; /* Make sure the thread is created detached. */ - pthread_attr_init (&attr); - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); + __pthread_attr_init (&attr); + __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); - int ret = pthread_create (threadp, &attr, tf, arg); + int ret = __pthread_create (threadp, &attr, tf, arg); - (void) pthread_attr_destroy (&attr); + (void) __pthread_attr_destroy (&attr); return ret; } #endif @@ -271,7 +285,7 @@ void __aio_init (const struct aioinit *init) { /* Get the mutex. */ - pthread_mutex_lock (&__aio_requests_mutex); + __pthread_mutex_lock (&__aio_requests_mutex); /* Only allow writing new values if the table is not yet allocated. */ if (pool == NULL) @@ -287,9 +301,8 @@ __aio_init (const struct aioinit *init) optim.aio_idle_time = init->aio_idle_time; /* Release the mutex. */ - pthread_mutex_unlock (&__aio_requests_mutex); + __pthread_mutex_unlock (&__aio_requests_mutex); } -weak_alias (__aio_init, aio_init) /* The main function of the async I/O handling. It enqueues requests @@ -319,11 +332,11 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation) } /* Compute priority for this request. */ - pthread_getschedparam (pthread_self (), &policy, ¶m); + __pthread_getschedparam (__pthread_self (), &policy, ¶m); prio = param.sched_priority - aiocbp->aiocb.aio_reqprio; /* Get the mutex. */ - pthread_mutex_lock (&__aio_requests_mutex); + __pthread_mutex_lock (&__aio_requests_mutex); last = NULL; runp = requests; @@ -340,7 +353,7 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation) newp = get_elem (); if (newp == NULL) { - pthread_mutex_unlock (&__aio_requests_mutex); + __pthread_mutex_unlock (&__aio_requests_mutex); __set_errno (EAGAIN); return NULL; } @@ -454,7 +467,7 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation) /* If there is a thread waiting for work, then let it know that we have just given it something to do. */ if (idle_thread_count > 0) - pthread_cond_signal (&__aio_new_request_notification); + __pthread_cond_signal (&__aio_new_request_notification); } if (result == 0) @@ -469,7 +482,7 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation) } /* Release the mutex. */ - pthread_mutex_unlock (&__aio_requests_mutex); + __pthread_mutex_unlock (&__aio_requests_mutex); return newp; } @@ -478,14 +491,14 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation) static void * handle_fildes_io (void *arg) { - pthread_t self = pthread_self (); + pthread_t self = __pthread_self (); struct sched_param param; struct requestlist *runp = (struct requestlist *) arg; aiocb_union *aiocbp; int policy; int fildes; - pthread_getschedparam (self, &policy, ¶m); + __pthread_getschedparam (self, &policy, ¶m); do { @@ -495,7 +508,7 @@ handle_fildes_io (void *arg) "get work off the work queue" part of this loop, which is near the end. */ if (runp == NULL) - pthread_mutex_lock (&__aio_requests_mutex); + __pthread_mutex_lock (&__aio_requests_mutex); else { /* Hopefully this request is marked as running. */ @@ -511,7 +524,7 @@ handle_fildes_io (void *arg) { param.sched_priority = aiocbp->aiocb.__abs_prio; policy = aiocbp->aiocb.__policy; - pthread_setschedparam (self, policy, ¶m); + __pthread_setschedparam (self, policy, ¶m); } /* Process request pointed to by RUNP. We must not be disturbed @@ -527,11 +540,11 @@ handle_fildes_io (void *arg) aiocbp->aiocb64.aio_offset)); else aiocbp->aiocb.__return_value = - TEMP_FAILURE_RETRY (__libc_pread (fildes, - (void *) - aiocbp->aiocb.aio_buf, - aiocbp->aiocb.aio_nbytes, - aiocbp->aiocb.aio_offset)); + TEMP_FAILURE_RETRY (__pread (fildes, + (void *) + aiocbp->aiocb.aio_buf, + aiocbp->aiocb.aio_nbytes, + aiocbp->aiocb.aio_offset)); if (aiocbp->aiocb.__return_value == -1 && errno == ESPIPE) /* The Linux kernel is different from others. It returns @@ -554,10 +567,10 @@ handle_fildes_io (void *arg) aiocbp->aiocb64.aio_offset)); else aiocbp->aiocb.__return_value = - TEMP_FAILURE_RETRY (__libc_pwrite (fildes, (const void *) - aiocbp->aiocb.aio_buf, - aiocbp->aiocb.aio_nbytes, - aiocbp->aiocb.aio_offset)); + TEMP_FAILURE_RETRY (__pwrite (fildes, (const void *) + aiocbp->aiocb.aio_buf, + aiocbp->aiocb.aio_nbytes, + aiocbp->aiocb.aio_offset)); if (aiocbp->aiocb.__return_value == -1 && errno == ESPIPE) /* The Linux kernel is different from others. It returns @@ -583,7 +596,7 @@ handle_fildes_io (void *arg) } /* Get the mutex. */ - pthread_mutex_lock (&__aio_requests_mutex); + __pthread_mutex_lock (&__aio_requests_mutex); if (aiocbp->aiocb.__return_value == -1) aiocbp->aiocb.__error_code = errno; @@ -626,9 +639,9 @@ handle_fildes_io (void *arg) wakeup_time.tv_nsec -= 1000000000; ++wakeup_time.tv_sec; } - pthread_cond_timedwait (&__aio_new_request_notification, - &__aio_requests_mutex, - &wakeup_time); + __pthread_cond_timedwait (&__aio_new_request_notification, + &__aio_requests_mutex, + &wakeup_time); --idle_thread_count; runp = runlist; } @@ -651,20 +664,21 @@ handle_fildes_io (void *arg) up for these other work elements; otherwise, we should try to create a new thread. */ if (idle_thread_count > 0) - pthread_cond_signal (&__aio_new_request_notification); + __pthread_cond_signal (&__aio_new_request_notification); else if (nthreads < optim.aio_threads) { pthread_t thid; pthread_attr_t attr; /* Make sure the thread is created detached. */ - pthread_attr_init (&attr); - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); + __pthread_attr_init (&attr); + __pthread_attr_setdetachstate (&attr, + PTHREAD_CREATE_DETACHED); /* Now try to start a thread. If we fail, no big deal, because we know that there is at least one thread (us) that is working on AIO operations. */ - if (pthread_create (&thid, &attr, handle_fildes_io, NULL) + if (__pthread_create (&thid, &attr, handle_fildes_io, NULL) == 0) ++nthreads; } @@ -672,7 +686,7 @@ handle_fildes_io (void *arg) } /* Release the mutex. */ - pthread_mutex_unlock (&__aio_requests_mutex); + __pthread_mutex_unlock (&__aio_requests_mutex); } while (runp != NULL); @@ -719,3 +733,26 @@ add_request_to_runlist (struct requestlist *newrequest) runp->next_run = newrequest; } } + +#if PTHREAD_IN_LIBC +libc_hidden_data_def (__aio_requests_mutex) +libc_hidden_def (__aio_enqueue_request) +libc_hidden_def (__aio_find_req) +libc_hidden_def (__aio_find_req_fd) +libc_hidden_def (__aio_free_request) +libc_hidden_def (__aio_remove_request) + +versioned_symbol (libc, __aio_init, aio_init, GLIBC_2_34); +# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34) +compat_symbol (librt, __aio_init, aio_init, GLIBC_2_1); +# endif + +#else /* !PTHREAD_IN_LIBC */ +librt_hidden_data_def (__aio_requests_mutex) +librt_hidden_def (__aio_enqueue_request) +librt_hidden_def (__aio_find_req) +librt_hidden_def (__aio_find_req_fd) +librt_hidden_def (__aio_free_request) +librt_hidden_def (__aio_remove_request) +weak_alias (__aio_init, aio_init) +#endif /* !PTHREAD_IN_LIBC */ diff --git a/rt/aio_notify.c b/rt/aio_notify.c index a8d61503d8..432000e34b 100644 --- a/rt/aio_notify.c +++ b/rt/aio_notify.c @@ -18,12 +18,17 @@ <https://www.gnu.org/licenses/>. */ #include <errno.h> -#include <pthread.h> +#include <pthreadP.h> #include <stdlib.h> #include <unistd.h> #include <aio_misc.h> #include <signal.h> +#if !PTHREAD_IN_LIBC +# define __pthread_attr_init pthread_attr_init +# define __pthread_attr_setdetachstate pthread_attr_setdetachstate +#endif + #ifndef aio_start_notify_thread # define aio_start_notify_thread() do { } while (0) #endif @@ -62,8 +67,8 @@ __aio_notify_only (struct sigevent *sigev) pattr = (pthread_attr_t *) sigev->sigev_notify_attributes; if (pattr == NULL) { - pthread_attr_init (&attr); - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); + __pthread_attr_init (&attr); + __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); pattr = &attr; } @@ -81,7 +86,7 @@ __aio_notify_only (struct sigevent *sigev) { nf->func = sigev->sigev_notify_function; nf->value = sigev->sigev_value; - if (pthread_create (&tid, pattr, notify_func_wrapper, nf) < 0) + if (__pthread_create (&tid, pattr, notify_func_wrapper, nf) < 0) { free (nf); result = -1; @@ -155,3 +160,11 @@ __aio_notify (struct requestlist *req) waitlist = next; } } + +#if PTHREAD_IN_LIBC +libc_hidden_def (__aio_notify) +libc_hidden_def (__aio_notify_only) +#else +librt_hidden_def (__aio_notify) +librt_hidden_def (__aio_notify_only) +#endif diff --git a/rt/aio_sigqueue.c b/rt/aio_sigqueue.c index 2f7da00ad3..0ad95ae04c 100644 --- a/rt/aio_sigqueue.c +++ b/rt/aio_sigqueue.c @@ -28,5 +28,5 @@ __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid) __set_errno (ENOSYS); return -1; } - +librt_hidden_def (__aio_sigqueue) stub_warning (__aio_sigqueue) diff --git a/sysdeps/generic/aio_misc.h b/sysdeps/generic/aio_misc.h index e23524cffe..d9bff36e50 100644 --- a/sysdeps/generic/aio_misc.h +++ b/sysdeps/generic/aio_misc.h @@ -87,36 +87,55 @@ struct requestlist /* Lock for global I/O list of requests. */ -extern pthread_mutex_t __aio_requests_mutex attribute_hidden; +extern pthread_mutex_t __aio_requests_mutex; /* Enqueue request. */ extern struct requestlist *__aio_enqueue_request (aiocb_union *aiocbp, - int operation) - attribute_hidden; + int operation); /* Find request entry for given AIO control block. */ -extern struct requestlist *__aio_find_req (aiocb_union *elem) attribute_hidden; +extern struct requestlist *__aio_find_req (aiocb_union *elem); /* Find request entry for given file descriptor. */ -extern struct requestlist *__aio_find_req_fd (int fildes) attribute_hidden; +extern struct requestlist *__aio_find_req_fd (int fildes); /* Remove request from the list. */ extern void __aio_remove_request (struct requestlist *last, - struct requestlist *req, int all) - attribute_hidden; + struct requestlist *req, int all); /* Release the entry for the request. */ -extern void __aio_free_request (struct requestlist *req) attribute_hidden; +extern void __aio_free_request (struct requestlist *req); /* Notify initiator of request and tell this everybody listening. */ -extern void __aio_notify (struct requestlist *req) attribute_hidden; +extern void __aio_notify (struct requestlist *req); /* Notify initiator of request. */ -extern int __aio_notify_only (struct sigevent *sigev) attribute_hidden; +extern int __aio_notify_only (struct sigevent *sigev); /* Send the signal. */ -extern int __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid) - attribute_hidden; +extern int __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid); + +#if PTHREAD_IN_LIBC +libc_hidden_proto (__aio_enqueue_request) +libc_hidden_proto (__aio_find_req) +libc_hidden_proto (__aio_find_req_fd) +libc_hidden_proto (__aio_free_request) +libc_hidden_proto (__aio_notify) +libc_hidden_proto (__aio_notify_only) +libc_hidden_proto (__aio_remove_request) +libc_hidden_proto (__aio_requests_mutex) +libc_hidden_proto (__aio_sigqueue) +#else +librt_hidden_proto (__aio_enqueue_request) +librt_hidden_proto (__aio_find_req) +librt_hidden_proto (__aio_find_req_fd) +librt_hidden_proto (__aio_free_request) +librt_hidden_proto (__aio_notify) +librt_hidden_proto (__aio_notify_only) +librt_hidden_proto (__aio_remove_request) +librt_hidden_proto (__aio_requests_mutex) +librt_hidden_proto (__aio_sigqueue) +#endif #endif /* aio_misc.h */ diff --git a/sysdeps/nptl/aio_misc.h b/sysdeps/nptl/aio_misc.h index a5c439fab5..d85f9c2fef 100644 --- a/sysdeps/nptl/aio_misc.h +++ b/sysdeps/nptl/aio_misc.h @@ -39,7 +39,7 @@ \ if (oldval != 0) \ { \ - pthread_mutex_unlock (&__aio_requests_mutex); \ + __pthread_mutex_unlock (&__aio_requests_mutex); \ \ int status; \ do \ @@ -67,7 +67,7 @@ else \ assert (status == 0 || status == EAGAIN); \ \ - pthread_mutex_lock (&__aio_requests_mutex); \ + __pthread_mutex_lock (&__aio_requests_mutex); \ } \ } while (0) diff --git a/sysdeps/nptl/pthreadP.h b/sysdeps/nptl/pthreadP.h index ca96ff073b..374657a2fd 100644 --- a/sysdeps/nptl/pthreadP.h +++ b/sysdeps/nptl/pthreadP.h @@ -337,6 +337,7 @@ libc_hidden_proto (__pthread_get_minstack) /* Namespace save aliases. */ extern int __pthread_getschedparam (pthread_t thread_id, int *policy, struct sched_param *param); +libc_hidden_proto (__pthread_getschedparam) extern int __pthread_setschedparam (pthread_t thread_id, int policy, const struct sched_param *param); extern int __pthread_mutex_init (pthread_mutex_t *__mutex, diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index 42e240e284..1bc4ffccce 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -589,6 +589,7 @@ GLIBC_2.17 addseverity F GLIBC_2.17 adjtime F GLIBC_2.17 adjtimex F GLIBC_2.17 advance F +GLIBC_2.17 aio_init F GLIBC_2.17 alarm F GLIBC_2.17 aligned_alloc F GLIBC_2.17 alphasort F @@ -2348,6 +2349,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/sysdeps/unix/sysv/linux/aarch64/librt.abilist index c41e0e675b..66dc3e4457 100644 --- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist @@ -5,7 +5,6 @@ GLIBC_2.17 aio_error F GLIBC_2.17 aio_error64 F GLIBC_2.17 aio_fsync F GLIBC_2.17 aio_fsync64 F -GLIBC_2.17 aio_init F GLIBC_2.17 aio_read F GLIBC_2.17 aio_read64 F GLIBC_2.17 aio_return F diff --git a/sysdeps/unix/sysv/linux/aio_misc.h b/sysdeps/unix/sysv/linux/aio_misc.h index a661cee203..79907544dc 100644 --- a/sysdeps/unix/sysv/linux/aio_misc.h +++ b/sysdeps/unix/sysv/linux/aio_misc.h @@ -42,11 +42,11 @@ __aio_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), pthread_attr_t attr; /* Make sure the thread is created detached. */ - pthread_attr_init (&attr); - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); + __pthread_attr_init (&attr); + __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); /* The helper thread needs only very little resources. */ - (void) pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr)); + (void) __pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr)); /* Block all signals in the helper thread. To do this thoroughly we temporarily have to block all signals here. */ @@ -56,13 +56,13 @@ __aio_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), INTERNAL_SYSCALL_CALL (rt_sigprocmask, SIG_SETMASK, &ss, &oss, __NSIG_BYTES); - int ret = pthread_create (threadp, &attr, tf, arg); + int ret = __pthread_create (threadp, &attr, tf, arg); /* Restore the signal mask. */ INTERNAL_SYSCALL_CALL (rt_sigprocmask, SIG_SETMASK, &oss, NULL, __NSIG_BYTES); - (void) pthread_attr_destroy (&attr); + (void) __pthread_attr_destroy (&attr); return ret; } #endif diff --git a/sysdeps/unix/sysv/linux/aio_sigqueue.c b/sysdeps/unix/sysv/linux/aio_sigqueue.c index 398d7a2f1f..bd0da6e763 100644 --- a/sysdeps/unix/sysv/linux/aio_sigqueue.c +++ b/sysdeps/unix/sysv/linux/aio_sigqueue.c @@ -39,8 +39,9 @@ __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid) info.si_signo = sig; info.si_code = SI_ASYNCIO; info.si_pid = caller_pid; - info.si_uid = getuid (); + info.si_uid = __getuid (); info.si_value = val; return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info); } +libc_hidden_def (__aio_sigqueue) diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index fad54555dc..5f3bebef8c 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -1502,6 +1502,7 @@ GLIBC_2.1 _sys_siglist D 0x200 GLIBC_2.1 addseverity F GLIBC_2.1 adjtime F GLIBC_2.1 adjtimex F +GLIBC_2.1 aio_init F GLIBC_2.1 alphasort64 F GLIBC_2.1 argp_err_exit_status D 0x4 GLIBC_2.1 argp_error F @@ -2441,6 +2442,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist index c4985067f7..94f5ca8b6f 100644 --- a/sysdeps/unix/sysv/linux/alpha/librt.abilist +++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F GLIBC_2.1 aio_error64 F GLIBC_2.1 aio_fsync F GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F GLIBC_2.1 aio_return F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 907716ec39..24d3a3673c 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -550,6 +550,7 @@ GLIBC_2.32 addmntent F GLIBC_2.32 addseverity F GLIBC_2.32 adjtime F GLIBC_2.32 adjtimex F +GLIBC_2.32 aio_init F GLIBC_2.32 alarm F GLIBC_2.32 aligned_alloc F GLIBC_2.32 alphasort F @@ -2107,6 +2108,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist index 7ee0b6d324..e53772e428 100644 --- a/sysdeps/unix/sysv/linux/arc/librt.abilist +++ b/sysdeps/unix/sysv/linux/arc/librt.abilist @@ -5,7 +5,6 @@ GLIBC_2.32 aio_error F GLIBC_2.32 aio_error64 F GLIBC_2.32 aio_fsync F GLIBC_2.32 aio_fsync64 F -GLIBC_2.32 aio_init F GLIBC_2.32 aio_read F GLIBC_2.32 aio_read64 F GLIBC_2.32 aio_return F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 50f987a429..582aa645c0 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -278,6 +278,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F @@ -981,6 +982,7 @@ GLIBC_2.4 addseverity F GLIBC_2.4 adjtime F GLIBC_2.4 adjtimex F GLIBC_2.4 advance F +GLIBC_2.4 aio_init F GLIBC_2.4 alarm F GLIBC_2.4 alphasort F GLIBC_2.4 alphasort64 F diff --git a/sysdeps/unix/sysv/linux/arm/be/librt.abilist b/sysdeps/unix/sysv/linux/arm/be/librt.abilist index 278da67f77..3aa50aa219 100644 --- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist @@ -9,7 +9,6 @@ GLIBC_2.4 aio_error F GLIBC_2.4 aio_error64 F GLIBC_2.4 aio_fsync F GLIBC_2.4 aio_fsync64 F -GLIBC_2.4 aio_init F GLIBC_2.4 aio_read F GLIBC_2.4 aio_read64 F GLIBC_2.4 aio_return F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index bf9038af84..400eae9ab0 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -275,6 +275,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F @@ -978,6 +979,7 @@ GLIBC_2.4 addseverity F GLIBC_2.4 adjtime F GLIBC_2.4 adjtimex F GLIBC_2.4 advance F +GLIBC_2.4 aio_init F GLIBC_2.4 alarm F GLIBC_2.4 alphasort F GLIBC_2.4 alphasort64 F diff --git a/sysdeps/unix/sysv/linux/arm/le/librt.abilist b/sysdeps/unix/sysv/linux/arm/le/librt.abilist index 278da67f77..3aa50aa219 100644 --- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist @@ -9,7 +9,6 @@ GLIBC_2.4 aio_error F GLIBC_2.4 aio_error64 F GLIBC_2.4 aio_fsync F GLIBC_2.4 aio_fsync64 F -GLIBC_2.4 aio_init F GLIBC_2.4 aio_read F GLIBC_2.4 aio_read64 F GLIBC_2.4 aio_return F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index afb91f6f43..4cd189d5db 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -564,6 +564,7 @@ GLIBC_2.29 addmntent F GLIBC_2.29 addseverity F GLIBC_2.29 adjtime F GLIBC_2.29 adjtimex F +GLIBC_2.29 aio_init F GLIBC_2.29 alarm F GLIBC_2.29 aligned_alloc F GLIBC_2.29 alphasort F @@ -2367,6 +2368,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/csky/librt.abilist b/sysdeps/unix/sysv/linux/csky/librt.abilist index 60400954a3..640230cfc0 100644 --- a/sysdeps/unix/sysv/linux/csky/librt.abilist +++ b/sysdeps/unix/sysv/linux/csky/librt.abilist @@ -5,7 +5,6 @@ GLIBC_2.29 aio_error F GLIBC_2.29 aio_error64 F GLIBC_2.29 aio_fsync F GLIBC_2.29 aio_fsync64 F -GLIBC_2.29 aio_init F GLIBC_2.29 aio_read F GLIBC_2.29 aio_read64 F GLIBC_2.29 aio_return F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 125f8a269a..ede6bee0cd 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -3,6 +3,7 @@ GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F +GLIBC_2.1 aio_init F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.10 __cxa_at_quick_exit F @@ -2321,6 +2322,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist b/sysdeps/unix/sysv/linux/hppa/librt.abilist index 6ac4f0597e..0114c42067 100644 --- a/sysdeps/unix/sysv/linux/hppa/librt.abilist +++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F GLIBC_2.1 aio_error64 F GLIBC_2.1 aio_fsync F GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F GLIBC_2.1 aio_return F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 517753bdd1..17063aaaf9 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -1475,6 +1475,7 @@ GLIBC_2.1 _sys_errlist D 0x1f4 GLIBC_2.1 _sys_nerr D 0x4 GLIBC_2.1 _sys_siglist D 0x100 GLIBC_2.1 addseverity F +GLIBC_2.1 aio_init F GLIBC_2.1 alphasort64 F GLIBC_2.1 argp_err_exit_status D 0x4 GLIBC_2.1 argp_error F @@ -2505,6 +2506,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/i386/librt.abilist b/sysdeps/unix/sysv/linux/i386/librt.abilist index 6ac4f0597e..0114c42067 100644 --- a/sysdeps/unix/sysv/linux/i386/librt.abilist +++ b/sysdeps/unix/sysv/linux/i386/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F GLIBC_2.1 aio_error64 F GLIBC_2.1 aio_fsync F GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F GLIBC_2.1 aio_return F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 23d0928360..4991b80dd1 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -3,6 +3,7 @@ GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F +GLIBC_2.1 aio_init F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.10 __cxa_at_quick_exit F @@ -2281,6 +2282,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/ia64/librt.abilist b/sysdeps/unix/sysv/linux/ia64/librt.abilist index fa7f54dd55..2c97c02f21 100644 --- a/sysdeps/unix/sysv/linux/ia64/librt.abilist +++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F GLIBC_2.1 aio_error64 F GLIBC_2.1 aio_fsync F GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F GLIBC_2.1 aio_return F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index dd5fb50b18..c1d7edf1f9 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -279,6 +279,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F @@ -969,6 +970,7 @@ GLIBC_2.4 addseverity F GLIBC_2.4 adjtime F GLIBC_2.4 adjtimex F GLIBC_2.4 advance F +GLIBC_2.4 aio_init F GLIBC_2.4 alarm F GLIBC_2.4 alphasort F GLIBC_2.4 alphasort64 F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist index 278da67f77..3aa50aa219 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist @@ -9,7 +9,6 @@ GLIBC_2.4 aio_error F GLIBC_2.4 aio_error64 F GLIBC_2.4 aio_fsync F GLIBC_2.4 aio_fsync64 F -GLIBC_2.4 aio_init F GLIBC_2.4 aio_read F GLIBC_2.4 aio_read64 F GLIBC_2.4 aio_return F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index cb1d553361..725280a9db 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -1473,6 +1473,7 @@ GLIBC_2.1 _sys_errlist D 0x1f4 GLIBC_2.1 _sys_nerr D 0x4 GLIBC_2.1 _sys_siglist D 0x100 GLIBC_2.1 addseverity F +GLIBC_2.1 aio_init F GLIBC_2.1 alphasort64 F GLIBC_2.1 argp_err_exit_status D 0x4 GLIBC_2.1 argp_error F @@ -2448,6 +2449,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist index 6ac4f0597e..0114c42067 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F GLIBC_2.1 aio_error64 F GLIBC_2.1 aio_fsync F GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F GLIBC_2.1 aio_return F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 6a20a6fdf2..fe9a9c2f09 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -591,6 +591,7 @@ GLIBC_2.18 addseverity F GLIBC_2.18 adjtime F GLIBC_2.18 adjtimex F GLIBC_2.18 advance F +GLIBC_2.18 aio_init F GLIBC_2.18 alarm F GLIBC_2.18 aligned_alloc F GLIBC_2.18 alphasort F @@ -2418,6 +2419,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist index a14deaabdb..679050b4b7 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist @@ -5,7 +5,6 @@ GLIBC_2.18 aio_error F GLIBC_2.18 aio_error64 F GLIBC_2.18 aio_fsync F GLIBC_2.18 aio_fsync64 F -GLIBC_2.18 aio_init F GLIBC_2.18 aio_read F GLIBC_2.18 aio_read64 F GLIBC_2.18 aio_return F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 4c21cbb64d..8db8d27e29 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -591,6 +591,7 @@ GLIBC_2.18 addseverity F GLIBC_2.18 adjtime F GLIBC_2.18 adjtimex F GLIBC_2.18 advance F +GLIBC_2.18 aio_init F GLIBC_2.18 alarm F GLIBC_2.18 aligned_alloc F GLIBC_2.18 alphasort F @@ -2415,6 +2416,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist index a14deaabdb..679050b4b7 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist @@ -5,7 +5,6 @@ GLIBC_2.18 aio_error F GLIBC_2.18 aio_error64 F GLIBC_2.18 aio_fsync F GLIBC_2.18 aio_fsync64 F -GLIBC_2.18 aio_init F GLIBC_2.18 aio_read F GLIBC_2.18 aio_read64 F GLIBC_2.18 aio_return F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index f83ba2f780..b6cd21ace7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -1651,6 +1651,7 @@ GLIBC_2.2 _sys_nerr D 0x4 GLIBC_2.2 _sys_siglist D 0x100 GLIBC_2.2 _test_and_set F GLIBC_2.2 addseverity F +GLIBC_2.2 aio_init F GLIBC_2.2 alphasort64 F GLIBC_2.2 argp_err_exit_status D 0x4 GLIBC_2.2 argp_error F @@ -2413,6 +2414,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist index 2c212d29d0..617d124234 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.2 aio_error F GLIBC_2.2 aio_error64 F GLIBC_2.2 aio_fsync F GLIBC_2.2 aio_fsync64 F -GLIBC_2.2 aio_init F GLIBC_2.2 aio_read F GLIBC_2.2 aio_read64 F GLIBC_2.2 aio_return F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 347bbddb94..65d0dcbe04 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -1649,6 +1649,7 @@ GLIBC_2.2 _sys_nerr D 0x4 GLIBC_2.2 _sys_siglist D 0x100 GLIBC_2.2 _test_and_set F GLIBC_2.2 addseverity F +GLIBC_2.2 aio_init F GLIBC_2.2 alphasort64 F GLIBC_2.2 argp_err_exit_status D 0x4 GLIBC_2.2 argp_error F @@ -2411,6 +2412,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 26b7ab529b..a2b2e09a63 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -1650,6 +1650,7 @@ GLIBC_2.2 _sys_nerr D 0x4 GLIBC_2.2 _sys_siglist D 0x100 GLIBC_2.2 _test_and_set F GLIBC_2.2 addseverity F +GLIBC_2.2 aio_init F GLIBC_2.2 alphasort64 F GLIBC_2.2 argp_err_exit_status D 0x4 GLIBC_2.2 argp_error F @@ -2419,6 +2420,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist index 2c212d29d0..617d124234 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.2 aio_error F GLIBC_2.2 aio_error64 F GLIBC_2.2 aio_fsync F GLIBC_2.2 aio_fsync64 F -GLIBC_2.2 aio_init F GLIBC_2.2 aio_read F GLIBC_2.2 aio_read64 F GLIBC_2.2 aio_return F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index e667b0e553..78b96a7119 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -1646,6 +1646,7 @@ GLIBC_2.2 _sys_nerr D 0x4 GLIBC_2.2 _sys_siglist D 0x200 GLIBC_2.2 _test_and_set F GLIBC_2.2 addseverity F +GLIBC_2.2 aio_init F GLIBC_2.2 alphasort64 F GLIBC_2.2 argp_err_exit_status D 0x4 GLIBC_2.2 argp_error F @@ -2337,6 +2338,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist index 2c7d661e56..40749a395c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.2 aio_error F GLIBC_2.2 aio_error64 F GLIBC_2.2 aio_fsync F GLIBC_2.2 aio_fsync64 F -GLIBC_2.2 aio_init F GLIBC_2.2 aio_read F GLIBC_2.2 aio_read64 F GLIBC_2.2 aio_return F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 89a1cc7da6..98943b6041 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -633,6 +633,7 @@ GLIBC_2.21 addseverity F GLIBC_2.21 adjtime F GLIBC_2.21 adjtimex F GLIBC_2.21 advance F +GLIBC_2.21 aio_init F GLIBC_2.21 alarm F GLIBC_2.21 aligned_alloc F GLIBC_2.21 alphasort F @@ -2457,6 +2458,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/nios2/librt.abilist b/sysdeps/unix/sysv/linux/nios2/librt.abilist index f600881b44..de354a6bb8 100644 --- a/sysdeps/unix/sysv/linux/nios2/librt.abilist +++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist @@ -5,7 +5,6 @@ GLIBC_2.21 aio_error F GLIBC_2.21 aio_error64 F GLIBC_2.21 aio_fsync F GLIBC_2.21 aio_fsync64 F -GLIBC_2.21 aio_init F GLIBC_2.21 aio_read F GLIBC_2.21 aio_read64 F GLIBC_2.21 aio_return F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index f364c5219e..f5d5c03eb3 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -1480,6 +1480,7 @@ GLIBC_2.1 _sys_errlist D 0x1f4 GLIBC_2.1 _sys_nerr D 0x4 GLIBC_2.1 _sys_siglist D 0x100 GLIBC_2.1 addseverity F +GLIBC_2.1 aio_init F GLIBC_2.1 alphasort64 F GLIBC_2.1 argp_err_exit_status D 0x4 GLIBC_2.1 argp_error F @@ -2475,6 +2476,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist index 6ac4f0597e..0114c42067 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F GLIBC_2.1 aio_error64 F GLIBC_2.1 aio_fsync F GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F GLIBC_2.1 aio_return F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index f5bcc78afe..6e99869e4c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -1480,6 +1480,7 @@ GLIBC_2.1 _sys_errlist D 0x1f4 GLIBC_2.1 _sys_nerr D 0x4 GLIBC_2.1 _sys_siglist D 0x100 GLIBC_2.1 addseverity F +GLIBC_2.1 aio_init F GLIBC_2.1 alphasort64 F GLIBC_2.1 argp_err_exit_status D 0x4 GLIBC_2.1 argp_error F @@ -2508,6 +2509,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 6032716053..205768e241 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -633,6 +633,7 @@ GLIBC_2.3 addseverity F GLIBC_2.3 adjtime F GLIBC_2.3 adjtimex F GLIBC_2.3 advance F +GLIBC_2.3 aio_init F GLIBC_2.3 alarm F GLIBC_2.3 alphasort F GLIBC_2.3 alphasort64 F @@ -2245,6 +2246,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist index b3c7afb461..3607639c50 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.3 aio_error F GLIBC_2.3 aio_error64 F GLIBC_2.3 aio_fsync F GLIBC_2.3 aio_fsync64 F -GLIBC_2.3 aio_init F GLIBC_2.3 aio_read F GLIBC_2.3 aio_read64 F GLIBC_2.3 aio_return F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 8c5494e1dc..fccca7ccc6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -677,6 +677,7 @@ GLIBC_2.17 addseverity F GLIBC_2.17 adjtime F GLIBC_2.17 adjtimex F GLIBC_2.17 advance F +GLIBC_2.17 aio_init F GLIBC_2.17 alarm F GLIBC_2.17 aligned_alloc F GLIBC_2.17 alphasort F @@ -2544,6 +2545,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist index c41e0e675b..66dc3e4457 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist @@ -5,7 +5,6 @@ GLIBC_2.17 aio_error F GLIBC_2.17 aio_error64 F GLIBC_2.17 aio_fsync F GLIBC_2.17 aio_fsync64 F -GLIBC_2.17 aio_init F GLIBC_2.17 aio_read F GLIBC_2.17 aio_read64 F GLIBC_2.17 aio_return F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index d7db279c1e..1de14d1195 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -544,6 +544,7 @@ GLIBC_2.33 addmntent F GLIBC_2.33 addseverity F GLIBC_2.33 adjtime F GLIBC_2.33 adjtimex F +GLIBC_2.33 aio_init F GLIBC_2.33 alarm F GLIBC_2.33 aligned_alloc F GLIBC_2.33 alphasort F @@ -2109,6 +2110,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist index c03b8a741e..c588e04ae0 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist @@ -5,7 +5,6 @@ GLIBC_2.33 aio_error F GLIBC_2.33 aio_error64 F GLIBC_2.33 aio_fsync F GLIBC_2.33 aio_fsync64 F -GLIBC_2.33 aio_init F GLIBC_2.33 aio_read F GLIBC_2.33 aio_read64 F GLIBC_2.33 aio_return F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index ef03dc0f9e..fd243b77de 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -570,6 +570,7 @@ GLIBC_2.27 addmntent F GLIBC_2.27 addseverity F GLIBC_2.27 adjtime F GLIBC_2.27 adjtimex F +GLIBC_2.27 aio_init F GLIBC_2.27 alarm F GLIBC_2.27 aligned_alloc F GLIBC_2.27 alphasort F @@ -2309,6 +2310,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist index 3cc7884927..4be13a5327 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist @@ -5,7 +5,6 @@ GLIBC_2.27 aio_error F GLIBC_2.27 aio_error64 F GLIBC_2.27 aio_fsync F GLIBC_2.27 aio_fsync64 F -GLIBC_2.27 aio_init F GLIBC_2.27 aio_read F GLIBC_2.27 aio_read64 F GLIBC_2.27 aio_return F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 9118cb68ec..5a9ccc644b 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -1472,6 +1472,7 @@ GLIBC_2.1 _sys_errlist D 0x1f4 GLIBC_2.1 _sys_nerr D 0x4 GLIBC_2.1 _sys_siglist D 0x100 GLIBC_2.1 addseverity F +GLIBC_2.1 aio_init F GLIBC_2.1 alphasort64 F GLIBC_2.1 argp_err_exit_status D 0x4 GLIBC_2.1 argp_error F @@ -2473,6 +2474,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist index 6ac4f0597e..0114c42067 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F GLIBC_2.1 aio_error64 F GLIBC_2.1 aio_fsync F GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F GLIBC_2.1 aio_return F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 66c01bd7e7..4b336dcbae 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -570,6 +570,7 @@ GLIBC_2.2 addseverity F GLIBC_2.2 adjtime F GLIBC_2.2 adjtimex F GLIBC_2.2 advance F +GLIBC_2.2 aio_init F GLIBC_2.2 alarm F GLIBC_2.2 alphasort F GLIBC_2.2 alphasort64 F @@ -2282,6 +2283,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist index 80735b140b..97673a21d4 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.2 aio_error F GLIBC_2.2 aio_error64 F GLIBC_2.2 aio_fsync F GLIBC_2.2 aio_fsync64 F -GLIBC_2.2 aio_init F GLIBC_2.2 aio_read F GLIBC_2.2 aio_read64 F GLIBC_2.2 aio_return F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index c40eb412c2..702fc7cd1c 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -7,6 +7,7 @@ GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F +GLIBC_2.1 aio_init F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.10 __cxa_at_quick_exit F @@ -2328,6 +2329,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/sh/be/librt.abilist b/sysdeps/unix/sysv/linux/sh/be/librt.abilist index 6ac4f0597e..0114c42067 100644 --- a/sysdeps/unix/sysv/linux/sh/be/librt.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F GLIBC_2.1 aio_error64 F GLIBC_2.1 aio_fsync F GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F GLIBC_2.1 aio_return F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 1412d33835..cca5fe2265 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -7,6 +7,7 @@ GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F +GLIBC_2.1 aio_init F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.10 __cxa_at_quick_exit F @@ -2325,6 +2326,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/sh/le/librt.abilist b/sysdeps/unix/sysv/linux/sh/le/librt.abilist index 6ac4f0597e..0114c42067 100644 --- a/sysdeps/unix/sysv/linux/sh/le/librt.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F GLIBC_2.1 aio_error64 F GLIBC_2.1 aio_fsync F GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F GLIBC_2.1 aio_return F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 7b55d34753..937efaaba4 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -1474,6 +1474,7 @@ GLIBC_2.1 _sys_errlist D 0x1fc GLIBC_2.1 _sys_nerr D 0x4 GLIBC_2.1 _sys_siglist D 0x100 GLIBC_2.1 addseverity F +GLIBC_2.1 aio_init F GLIBC_2.1 alphasort64 F GLIBC_2.1 argp_err_exit_status D 0x4 GLIBC_2.1 argp_error F @@ -2466,6 +2467,7 @@ GLIBC_2.34 __wait3_time64 F GLIBC_2.34 __wait4_time64 F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist index 100bd4fb76..e4e4569d81 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F GLIBC_2.1 aio_error64 F GLIBC_2.1 aio_fsync F GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F GLIBC_2.1 aio_return F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index cfd5f38864..47f96b1480 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -7,6 +7,7 @@ GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F +GLIBC_2.1 aio_init F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.10 __cxa_at_quick_exit F @@ -2302,6 +2303,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist index c4985067f7..94f5ca8b6f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.1 aio_error F GLIBC_2.1 aio_error64 F GLIBC_2.1 aio_fsync F GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F GLIBC_2.1 aio_return F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index 17be05f14f..4ff62311e9 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -559,6 +559,7 @@ GLIBC_2.2.5 addseverity F GLIBC_2.2.5 adjtime F GLIBC_2.2.5 adjtimex F GLIBC_2.2.5 advance F +GLIBC_2.2.5 aio_init F GLIBC_2.2.5 alarm F GLIBC_2.2.5 alphasort F GLIBC_2.2.5 alphasort64 F @@ -2260,6 +2261,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist index a3da4f8e6e..bac8c74b5f 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.2.5 aio_error F GLIBC_2.2.5 aio_error64 F GLIBC_2.2.5 aio_fsync F GLIBC_2.2.5 aio_fsync64 F -GLIBC_2.2.5 aio_init F GLIBC_2.2.5 aio_read F GLIBC_2.2.5 aio_read64 F GLIBC_2.2.5 aio_return F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index a9db18906b..e34873201d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -592,6 +592,7 @@ GLIBC_2.16 addseverity F GLIBC_2.16 adjtime F GLIBC_2.16 adjtimex F GLIBC_2.16 advance F +GLIBC_2.16 aio_init F GLIBC_2.16 alarm F GLIBC_2.16 aligned_alloc F GLIBC_2.16 alphasort F @@ -2363,6 +2364,7 @@ GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 _pthread_cleanup_pop F GLIBC_2.34 _pthread_cleanup_push F +GLIBC_2.34 aio_init F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist index a0069d137b..2e432fe7d6 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist @@ -5,7 +5,6 @@ GLIBC_2.16 aio_error F GLIBC_2.16 aio_error64 F GLIBC_2.16 aio_fsync F GLIBC_2.16 aio_fsync64 F -GLIBC_2.16 aio_init F GLIBC_2.16 aio_read F GLIBC_2.16 aio_read64 F GLIBC_2.16 aio_return F