[10/34] Linux: Move aio_init from librt into libc

Message ID 8f2e107e48931e72aa91907b5d74512b1923cc6a.1623956057.git.fweimer@redhat.com
State New
Headers show
Series
  • Move librt into libc
Related show

Commit Message

Florian Weimer via Libc-alpha June 17, 2021, 6:57 p.m.
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.
---
 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(-)

-- 
2.31.1

Comments

Florian Weimer via Libc-alpha June 23, 2021, 1:22 p.m. | #1
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, &param);

> +  __pthread_getschedparam (__pthread_self (), &policy, &param);

>    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, &param);

> +  __pthread_getschedparam (self, &policy, &param);

>  

>    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, &param);

> +	      __pthread_setschedparam (self, policy, &param);

>  	    }

>  

>  	  /* 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.

Patch

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, &param);
+  __pthread_getschedparam (__pthread_self (), &policy, &param);
   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, &param);
+  __pthread_getschedparam (self, &policy, &param);
 
   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, &param);
+	      __pthread_setschedparam (self, policy, &param);
 	    }
 
 	  /* 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