[14/34] Linux: Move aio_read, aio_read64 into libc

Message ID 3abd31cd95798f188a2707bbc48237a85ba69fb6.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:58 p.m.
Both symbols have to be moved at the same time because they
are intertwined for __WORDSIZE == 64.  The treatment of this case
is also changed to match more closely how the other files suppress
the declaration of the *64 identifier.

The symbols were moved using scripts/move-symbol-to-libc.py.
---
 rt/Makefile                                   |  4 +-
 rt/Versions                                   |  6 ++-
 rt/aio_read.c                                 | 37 +++++++++++++++++--
 rt/aio_read64.c                               | 20 ++++++++--
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  4 ++
 sysdeps/unix/sysv/linux/aarch64/librt.abilist |  2 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  4 ++
 sysdeps/unix/sysv/linux/alpha/librt.abilist   |  2 -
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  4 ++
 sysdeps/unix/sysv/linux/arc/librt.abilist     |  2 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  4 ++
 sysdeps/unix/sysv/linux/arm/be/librt.abilist  |  2 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  4 ++
 sysdeps/unix/sysv/linux/arm/le/librt.abilist  |  2 -
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  4 ++
 sysdeps/unix/sysv/linux/csky/librt.abilist    |  2 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  4 ++
 sysdeps/unix/sysv/linux/hppa/librt.abilist    |  2 -
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  4 ++
 sysdeps/unix/sysv/linux/i386/librt.abilist    |  2 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  4 ++
 sysdeps/unix/sysv/linux/ia64/librt.abilist    |  2 -
 .../sysv/linux/m68k/coldfire/libc.abilist     |  4 ++
 .../sysv/linux/m68k/coldfire/librt.abilist    |  2 -
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  4 ++
 .../unix/sysv/linux/m68k/m680x0/librt.abilist |  2 -
 .../sysv/linux/microblaze/be/libc.abilist     |  4 ++
 .../sysv/linux/microblaze/be/librt.abilist    |  2 -
 .../sysv/linux/microblaze/le/libc.abilist     |  4 ++
 .../sysv/linux/microblaze/le/librt.abilist    |  2 -
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  4 ++
 .../unix/sysv/linux/mips/mips32/librt.abilist |  2 -
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  4 ++
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 ++
 .../sysv/linux/mips/mips64/n32/librt.abilist  |  2 -
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 ++
 .../sysv/linux/mips/mips64/n64/librt.abilist  |  2 -
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  4 ++
 sysdeps/unix/sysv/linux/nios2/librt.abilist   |  2 -
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  4 ++
 .../linux/powerpc/powerpc32/librt.abilist     |  2 -
 .../powerpc/powerpc32/nofpu/libc.abilist      |  4 ++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  4 ++
 .../linux/powerpc/powerpc64/be/librt.abilist  |  2 -
 .../linux/powerpc/powerpc64/le/libc.abilist   |  4 ++
 .../linux/powerpc/powerpc64/le/librt.abilist  |  2 -
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  4 ++
 .../unix/sysv/linux/riscv/rv32/librt.abilist  |  2 -
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  4 ++
 .../unix/sysv/linux/riscv/rv64/librt.abilist  |  2 -
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  4 ++
 .../sysv/linux/s390/s390-32/librt.abilist     |  2 -
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  4 ++
 .../sysv/linux/s390/s390-64/librt.abilist     |  2 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  4 ++
 sysdeps/unix/sysv/linux/sh/be/librt.abilist   |  2 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  4 ++
 sysdeps/unix/sysv/linux/sh/le/librt.abilist   |  2 -
 .../sysv/linux/sparc/sparc32/libc.abilist     |  4 ++
 .../sysv/linux/sparc/sparc32/librt.abilist    |  2 -
 .../sysv/linux/sparc/sparc64/libc.abilist     |  4 ++
 .../sysv/linux/sparc/sparc64/librt.abilist    |  2 -
 .../unix/sysv/linux/wordsize-64/aio_read.c    |  7 ----
 .../unix/sysv/linux/wordsize-64/aio_read64.c  |  1 -
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  4 ++
 .../unix/sysv/linux/x86_64/64/librt.abilist   |  2 -
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  4 ++
 .../unix/sysv/linux/x86_64/x32/librt.abilist  |  2 -
 68 files changed, 185 insertions(+), 78 deletions(-)
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/aio_read.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c

-- 
2.31.1

Comments

Florian Weimer via Libc-alpha June 23, 2021, 5:51 p.m. | #1
On 17/06/2021 15:58, Florian Weimer via Libc-alpha wrote:
> Both symbols have to be moved at the same time because they

> are intertwined for __WORDSIZE == 64.  The treatment of this case

> is also changed to match more closely how the other files suppress

> the declaration of the *64 identifier.


As a side note, I think __WORDSIZE is not reall correct here since
we not have 32-bit architecture that only defines 64-bit off_t.
This will incur in a double implementation that would be essentially
the same, it should not be an error but I think we should fix it
eventually.

> 

> The symbols were moved using scripts/move-symbol-to-libc.py.


LGTM, thanks.  Just a nit below.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>


> ---

>  rt/Makefile                                   |  4 +-

>  rt/Versions                                   |  6 ++-

>  rt/aio_read.c                                 | 37 +++++++++++++++++--

>  rt/aio_read64.c                               | 20 ++++++++--

>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  4 ++

>  sysdeps/unix/sysv/linux/aarch64/librt.abilist |  2 -

>  sysdeps/unix/sysv/linux/alpha/libc.abilist    |  4 ++

>  sysdeps/unix/sysv/linux/alpha/librt.abilist   |  2 -

>  sysdeps/unix/sysv/linux/arc/libc.abilist      |  4 ++

>  sysdeps/unix/sysv/linux/arc/librt.abilist     |  2 -

>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  4 ++

>  sysdeps/unix/sysv/linux/arm/be/librt.abilist  |  2 -

>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  4 ++

>  sysdeps/unix/sysv/linux/arm/le/librt.abilist  |  2 -

>  sysdeps/unix/sysv/linux/csky/libc.abilist     |  4 ++

>  sysdeps/unix/sysv/linux/csky/librt.abilist    |  2 -

>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  4 ++

>  sysdeps/unix/sysv/linux/hppa/librt.abilist    |  2 -

>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  4 ++

>  sysdeps/unix/sysv/linux/i386/librt.abilist    |  2 -

>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |  4 ++

>  sysdeps/unix/sysv/linux/ia64/librt.abilist    |  2 -

>  .../sysv/linux/m68k/coldfire/libc.abilist     |  4 ++

>  .../sysv/linux/m68k/coldfire/librt.abilist    |  2 -

>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  4 ++

>  .../unix/sysv/linux/m68k/m680x0/librt.abilist |  2 -

>  .../sysv/linux/microblaze/be/libc.abilist     |  4 ++

>  .../sysv/linux/microblaze/be/librt.abilist    |  2 -

>  .../sysv/linux/microblaze/le/libc.abilist     |  4 ++

>  .../sysv/linux/microblaze/le/librt.abilist    |  2 -

>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  4 ++

>  .../unix/sysv/linux/mips/mips32/librt.abilist |  2 -

>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  4 ++

>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 ++

>  .../sysv/linux/mips/mips64/n32/librt.abilist  |  2 -

>  .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 ++

>  .../sysv/linux/mips/mips64/n64/librt.abilist  |  2 -

>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  4 ++

>  sysdeps/unix/sysv/linux/nios2/librt.abilist   |  2 -

>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  4 ++

>  .../linux/powerpc/powerpc32/librt.abilist     |  2 -

>  .../powerpc/powerpc32/nofpu/libc.abilist      |  4 ++

>  .../linux/powerpc/powerpc64/be/libc.abilist   |  4 ++

>  .../linux/powerpc/powerpc64/be/librt.abilist  |  2 -

>  .../linux/powerpc/powerpc64/le/libc.abilist   |  4 ++

>  .../linux/powerpc/powerpc64/le/librt.abilist  |  2 -

>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  4 ++

>  .../unix/sysv/linux/riscv/rv32/librt.abilist  |  2 -

>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |  4 ++

>  .../unix/sysv/linux/riscv/rv64/librt.abilist  |  2 -

>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  4 ++

>  .../sysv/linux/s390/s390-32/librt.abilist     |  2 -

>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  4 ++

>  .../sysv/linux/s390/s390-64/librt.abilist     |  2 -

>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  4 ++

>  sysdeps/unix/sysv/linux/sh/be/librt.abilist   |  2 -

>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  4 ++

>  sysdeps/unix/sysv/linux/sh/le/librt.abilist   |  2 -

>  .../sysv/linux/sparc/sparc32/libc.abilist     |  4 ++

>  .../sysv/linux/sparc/sparc32/librt.abilist    |  2 -

>  .../sysv/linux/sparc/sparc64/libc.abilist     |  4 ++

>  .../sysv/linux/sparc/sparc64/librt.abilist    |  2 -

>  .../unix/sysv/linux/wordsize-64/aio_read.c    |  7 ----

>  .../unix/sysv/linux/wordsize-64/aio_read64.c  |  1 -

>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  4 ++

>  .../unix/sysv/linux/x86_64/64/librt.abilist   |  2 -

>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  4 ++

>  .../unix/sysv/linux/x86_64/x32/librt.abilist  |  2 -

>  68 files changed, 185 insertions(+), 78 deletions(-)

>  delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/aio_read.c

>  delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c

> 

> diff --git a/rt/Makefile b/rt/Makefile

> index ca8c818a25..f080be56d5 100644

> --- a/rt/Makefile

> +++ b/rt/Makefile

> @@ -29,8 +29,6 @@ routines = \

>    shm_unlink \

>  

>  librt-routines = \

> -  aio_read \

> -  aio_read64 \

>    aio_return \

>    aio_suspend \

>    aio_write \

> @@ -62,6 +60,8 @@ $(librt-routines-var) += \

>    aio_fsync \

>    aio_misc \

>    aio_notify \

> +  aio_read \

> +  aio_read64 \

>    aio_sigqueue \

>  

>  tests := tst-shm tst-timer tst-timer2 \


Ok.

> diff --git a/rt/Versions b/rt/Versions

> index 1a0aa77fd0..6db40bebc4 100644

> --- a/rt/Versions

> +++ b/rt/Versions

> @@ -8,6 +8,8 @@ libc {

>      aio_error64;

>      aio_fsync;

>      aio_fsync64;

> +    aio_read;

> +    aio_read64;

>  %endif

>    }

>    GLIBC_2.2 {

> @@ -23,6 +25,8 @@ libc {

>      aio_error64;

>      aio_fsync;

>      aio_fsync64;

> +    aio_read;

> +    aio_read64;

>  %endif

>      shm_open;

>      shm_unlink;

> @@ -51,9 +55,9 @@ librt {

>      aio_fsync;

>      aio_fsync64;

>      aio_init;

> -%endif

>      aio_read;

>      aio_read64;

> +%endif

>      aio_return;

>      aio_return64;

>      aio_suspend;

__WORDSIZE

> diff --git a/rt/aio_read.c b/rt/aio_read.c

> index 4698e48b1c..1b7a7fcfa9 100644

> --- a/rt/aio_read.c

> +++ b/rt/aio_read.c

> @@ -17,14 +17,45 @@

>     License along with the GNU C Library; if not, see

>     <https://www.gnu.org/licenses/>.  */

>  

> -#include <aio.h>

> +#include <bits/wordsize.h>

> +#if __WORDSIZE == 64

> +/* We use an UGLY hack to prevent gcc from finding us cheating.  The

> +   implementation of aio_read and aio_read64 are identical and so

> +   we want to avoid code duplication by using aliases.  But gcc sees

> +   the different parameter lists and prints a warning.  We define here

> +   a function so that aio_read64 has no prototype.  */


I think there is no need to replicate this comment anymore, this 'hack'
is used on multiple places (LFS).

> +# define aio_read64 XXX

> +# include <aio.h>

> +/* And undo the hack.  */

> +# undef aio_read64

> +#else

> +# include <aio.h>

> +#endif

>  

>  #include <aio_misc.h>

> -

> +#include <shlib-compat.h>

>  

>  int

> -aio_read (struct aiocb *aiocbp)

> +__aio_read (struct aiocb *aiocbp)

>  {

>    return (__aio_enqueue_request ((aiocb_union *) aiocbp, LIO_READ) == NULL

>  	  ? -1 : 0);

>  }

> +

> +#if PTHREAD_IN_LIBC

> +versioned_symbol (libc, __aio_read, aio_read, GLIBC_2_34);

> +# if __WORDSIZE == 64

> +versioned_symbol (libc, __aio_read, aio_read64, GLIBC_2_34);

> +# endif

> +# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34)

> +compat_symbol (librt, __aio_read, aio_read, GLIBC_2_1);

> +#  if __WORDSIZE == 64

> +compat_symbol (librt, __aio_read, aio_read64, GLIBC_2_1);

> +#  endif

> +# endif

> +#else /* !PTHREAD_IN_LIBC */

> +strong_alias (__aio_read, aio_read)

> +# if __WORDSIZE == 64

> +weak_alias (__aio_read, aio_read64)

> +#endif

> +#endif  /* !PTHREAD_IN_LIBC */


Ok.

> diff --git a/rt/aio_read64.c b/rt/aio_read64.c

> index 26b9b0b380..3aa169fbf3 100644

> --- a/rt/aio_read64.c

> +++ b/rt/aio_read64.c

> @@ -17,14 +17,26 @@

>     License along with the GNU C Library; if not, see

>     <https://www.gnu.org/licenses/>.  */

>  

> -#include <aio.h>

> -

> -#include <aio_misc.h>

> +#include <bits/wordsize.h>

> +#if __WORDSIZE != 64

>  

> +# include <aio.h>

> +# include <aio_misc.h>

> +# include <shlib-compat.h>

>  

>  int

> -aio_read64 (struct aiocb64 *aiocbp)

> +__aio_read64 (struct aiocb64 *aiocbp)

>  {

>    return (__aio_enqueue_request ((aiocb_union *) aiocbp, LIO_READ64) == NULL

>  	  ? -1 : 0);

>  }

> +

> +# if PTHREAD_IN_LIBC

> +versioned_symbol (libc, __aio_read64, aio_read64, GLIBC_2_34);

> +#  if OTHER_SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34)

> +compat_symbol (librt, __aio_read64, aio_read64, GLIBC_2_1);

> +#  endif

> +# else /* !PTHREAD_IN_LIBC */

> +strong_alias (__aio_read64, aio_read64)

> +# endif

> +#endif /* __WORDSIZE != 64 */

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> index cf141fdf08..d210f88f0e 100644

> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> @@ -596,6 +596,8 @@ 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 alarm F

>  GLIBC_2.17 aligned_alloc F

>  GLIBC_2.17 alphasort F

> @@ -2362,6 +2364,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 1519e07346..58a853230e 100644

> --- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist

> @@ -1,6 +1,4 @@

>  GLIBC_2.17 __mq_open_2 F

> -GLIBC_2.17 aio_read F

> -GLIBC_2.17 aio_read64 F

>  GLIBC_2.17 aio_return F

>  GLIBC_2.17 aio_return64 F

>  GLIBC_2.17 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist

> index 8d58f3ea87..08ea11c9fe 100644

> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist

> @@ -1509,6 +1509,8 @@ 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 alphasort64 F

>  GLIBC_2.1 argp_err_exit_status D 0x4

>  GLIBC_2.1 argp_error F

> @@ -2457,6 +2459,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 f4dd36f97b..2afa483191 100644

> --- a/sysdeps/unix/sysv/linux/alpha/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.1 aio_read F

> -GLIBC_2.1 aio_read64 F

>  GLIBC_2.1 aio_return F

>  GLIBC_2.1 aio_return64 F

>  GLIBC_2.1 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist

> index 7579936aca..817c4c6ff0 100644

> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist

> @@ -557,6 +557,8 @@ 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 alarm F

>  GLIBC_2.32 aligned_alloc F

>  GLIBC_2.32 alphasort F

> @@ -2121,6 +2123,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 15b9acf33c..e49be2ff36 100644

> --- a/sysdeps/unix/sysv/linux/arc/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/arc/librt.abilist

> @@ -1,6 +1,4 @@

>  GLIBC_2.32 __mq_open_2 F

> -GLIBC_2.32 aio_read F

> -GLIBC_2.32 aio_read64 F

>  GLIBC_2.32 aio_return F

>  GLIBC_2.32 aio_return64 F

>  GLIBC_2.32 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> index 566d18d20a..0be92527af 100644

> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> @@ -285,6 +285,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 F

>  GLIBC_2.34 call_once F

>  GLIBC_2.34 cnd_broadcast F

>  GLIBC_2.34 cnd_destroy F

> @@ -995,6 +997,8 @@ 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 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 1fa78d6811..9a68bb887b 100644

> --- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist

> @@ -3,8 +3,6 @@ GLIBC_2.34 __mq_timedreceive_time64 F

>  GLIBC_2.34 __mq_timedsend_time64 F

>  GLIBC_2.34 __timer_gettime64 F

>  GLIBC_2.34 __timer_settime64 F

> -GLIBC_2.4 aio_read F

> -GLIBC_2.4 aio_read64 F

>  GLIBC_2.4 aio_return F

>  GLIBC_2.4 aio_return64 F

>  GLIBC_2.4 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> index 40da72fe92..615b37769a 100644

> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> @@ -282,6 +282,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 F

>  GLIBC_2.34 call_once F

>  GLIBC_2.34 cnd_broadcast F

>  GLIBC_2.34 cnd_destroy F

> @@ -992,6 +994,8 @@ 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 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 1fa78d6811..9a68bb887b 100644

> --- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist

> @@ -3,8 +3,6 @@ GLIBC_2.34 __mq_timedreceive_time64 F

>  GLIBC_2.34 __mq_timedsend_time64 F

>  GLIBC_2.34 __timer_gettime64 F

>  GLIBC_2.34 __timer_settime64 F

> -GLIBC_2.4 aio_read F

> -GLIBC_2.4 aio_read64 F

>  GLIBC_2.4 aio_return F

>  GLIBC_2.4 aio_return64 F

>  GLIBC_2.4 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist

> index b0e1eab37e..e77bb5b57b 100644

> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist

> @@ -571,6 +571,8 @@ 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 alarm F

>  GLIBC_2.29 aligned_alloc F

>  GLIBC_2.29 alphasort F

> @@ -2381,6 +2383,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 9c3edc9f2f..93475f5bd5 100644

> --- a/sysdeps/unix/sysv/linux/csky/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/csky/librt.abilist

> @@ -1,6 +1,4 @@

>  GLIBC_2.29 __mq_open_2 F

> -GLIBC_2.29 aio_read F

> -GLIBC_2.29 aio_read64 F

>  GLIBC_2.29 aio_return F

>  GLIBC_2.29 aio_return64 F

>  GLIBC_2.29 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist

> index 463b498665..12704a350a 100644

> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist

> @@ -10,6 +10,8 @@ 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 dlopen F

>  GLIBC_2.1 dlvsym F

>  GLIBC_2.10 __cxa_at_quick_exit F

> @@ -2335,6 +2337,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644

> --- a/sysdeps/unix/sysv/linux/hppa/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.1 aio_read F

> -GLIBC_2.1 aio_read64 F

>  GLIBC_2.1 aio_return F

>  GLIBC_2.1 aio_return64 F

>  GLIBC_2.1 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist

> index 2015282000..67d1fbcade 100644

> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist

> @@ -1482,6 +1482,8 @@ 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 alphasort64 F

>  GLIBC_2.1 argp_err_exit_status D 0x4

>  GLIBC_2.1 argp_error F

> @@ -2519,6 +2521,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644

> --- a/sysdeps/unix/sysv/linux/i386/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/i386/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.1 aio_read F

> -GLIBC_2.1 aio_read64 F

>  GLIBC_2.1 aio_return F

>  GLIBC_2.1 aio_return64 F

>  GLIBC_2.1 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist

> index f83ba75cac..83d6bbfdf2 100644

> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist

> @@ -10,6 +10,8 @@ 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 dlopen F

>  GLIBC_2.1 dlvsym F

>  GLIBC_2.10 __cxa_at_quick_exit F

> @@ -2295,6 +2297,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 38dd6dfb53..152692a5a6 100644

> --- a/sysdeps/unix/sysv/linux/ia64/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.1 aio_read F

> -GLIBC_2.1 aio_read64 F

>  GLIBC_2.1 aio_return F

>  GLIBC_2.1 aio_return64 F

>  GLIBC_2.1 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> index a0ca9ddc48..537df59369 100644

> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> @@ -286,6 +286,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 F

>  GLIBC_2.34 call_once F

>  GLIBC_2.34 cnd_broadcast F

>  GLIBC_2.34 cnd_destroy F

> @@ -983,6 +985,8 @@ 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 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 1fa78d6811..9a68bb887b 100644

> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist

> @@ -3,8 +3,6 @@ GLIBC_2.34 __mq_timedreceive_time64 F

>  GLIBC_2.34 __mq_timedsend_time64 F

>  GLIBC_2.34 __timer_gettime64 F

>  GLIBC_2.34 __timer_settime64 F

> -GLIBC_2.4 aio_read F

> -GLIBC_2.4 aio_read64 F

>  GLIBC_2.4 aio_return F

>  GLIBC_2.4 aio_return64 F

>  GLIBC_2.4 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> index bef73ca536..fefee687b2 100644

> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> @@ -1480,6 +1480,8 @@ 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 alphasort64 F

>  GLIBC_2.1 argp_err_exit_status D 0x4

>  GLIBC_2.1 argp_error F

> @@ -2462,6 +2464,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644

> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.1 aio_read F

> -GLIBC_2.1 aio_read64 F

>  GLIBC_2.1 aio_return F

>  GLIBC_2.1 aio_return64 F

>  GLIBC_2.1 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> index 1f2c7f0fd9..635b62cd31 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> @@ -598,6 +598,8 @@ 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 alarm F

>  GLIBC_2.18 aligned_alloc F

>  GLIBC_2.18 alphasort F

> @@ -2432,6 +2434,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 87eeccd69c..34f5bc3964 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist

> @@ -1,6 +1,4 @@

>  GLIBC_2.18 __mq_open_2 F

> -GLIBC_2.18 aio_read F

> -GLIBC_2.18 aio_read64 F

>  GLIBC_2.18 aio_return F

>  GLIBC_2.18 aio_return64 F

>  GLIBC_2.18 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> index 191db5f985..cce81d50da 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> @@ -598,6 +598,8 @@ 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 alarm F

>  GLIBC_2.18 aligned_alloc F

>  GLIBC_2.18 alphasort F

> @@ -2429,6 +2431,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 87eeccd69c..34f5bc3964 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist

> @@ -1,6 +1,4 @@

>  GLIBC_2.18 __mq_open_2 F

> -GLIBC_2.18 aio_read F

> -GLIBC_2.18 aio_read64 F

>  GLIBC_2.18 aio_return F

>  GLIBC_2.18 aio_return64 F

>  GLIBC_2.18 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> index 5eb630a9f5..d4e0f597ba 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> @@ -1658,6 +1658,8 @@ 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 alphasort64 F

>  GLIBC_2.2 argp_err_exit_status D 0x4

>  GLIBC_2.2 argp_error F

> @@ -2427,6 +2429,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 9e2c283942..d886f0376c 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.2 aio_read F

> -GLIBC_2.2 aio_read64 F

>  GLIBC_2.2 aio_return F

>  GLIBC_2.2 aio_return64 F

>  GLIBC_2.2 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> index a1b8e02ca4..757c40c34c 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> @@ -1656,6 +1656,8 @@ 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 alphasort64 F

>  GLIBC_2.2 argp_err_exit_status D 0x4

>  GLIBC_2.2 argp_error F

> @@ -2425,6 +2427,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 dd33f448b7..d1c919b14f 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> @@ -1657,6 +1657,8 @@ 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 alphasort64 F

>  GLIBC_2.2 argp_err_exit_status D 0x4

>  GLIBC_2.2 argp_error F

> @@ -2433,6 +2435,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 9e2c283942..d886f0376c 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.2 aio_read F

> -GLIBC_2.2 aio_read64 F

>  GLIBC_2.2 aio_return F

>  GLIBC_2.2 aio_return64 F

>  GLIBC_2.2 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> index efda95dd32..6c3dd08461 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> @@ -1653,6 +1653,8 @@ 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 alphasort64 F

>  GLIBC_2.2 argp_err_exit_status D 0x4

>  GLIBC_2.2 argp_error F

> @@ -2351,6 +2353,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 848a39faae..6c94c34024 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.2 aio_read F

> -GLIBC_2.2 aio_read64 F

>  GLIBC_2.2 aio_return F

>  GLIBC_2.2 aio_return64 F

>  GLIBC_2.2 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist

> index e2739a9145..160e1d491e 100644

> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist

> @@ -640,6 +640,8 @@ 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 alarm F

>  GLIBC_2.21 aligned_alloc F

>  GLIBC_2.21 alphasort F

> @@ -2471,6 +2473,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 24472cb04f..7d197b8c5d 100644

> --- a/sysdeps/unix/sysv/linux/nios2/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist

> @@ -1,6 +1,4 @@

>  GLIBC_2.21 __mq_open_2 F

> -GLIBC_2.21 aio_read F

> -GLIBC_2.21 aio_read64 F

>  GLIBC_2.21 aio_return F

>  GLIBC_2.21 aio_return64 F

>  GLIBC_2.21 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> index 6c816268cd..2923d162e0 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> @@ -1487,6 +1487,8 @@ 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 alphasort64 F

>  GLIBC_2.1 argp_err_exit_status D 0x4

>  GLIBC_2.1 argp_error F

> @@ -2489,6 +2491,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.1 aio_read F

> -GLIBC_2.1 aio_read64 F

>  GLIBC_2.1 aio_return F

>  GLIBC_2.1 aio_return64 F

>  GLIBC_2.1 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> index 03dadcef85..b6feabe5e4 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> @@ -1487,6 +1487,8 @@ 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 alphasort64 F

>  GLIBC_2.1 argp_err_exit_status D 0x4

>  GLIBC_2.1 argp_error F

> @@ -2522,6 +2524,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 c355eb4607..b149e31698 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> @@ -640,6 +640,8 @@ 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 alarm F

>  GLIBC_2.3 alphasort F

>  GLIBC_2.3 alphasort64 F

> @@ -2259,6 +2261,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 951344a6ef..d0ddb7852e 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.3 aio_read F

> -GLIBC_2.3 aio_read64 F

>  GLIBC_2.3 aio_return F

>  GLIBC_2.3 aio_return64 F

>  GLIBC_2.3 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> index abe39f4a96..607abc7f32 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> @@ -684,6 +684,8 @@ 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 alarm F

>  GLIBC_2.17 aligned_alloc F

>  GLIBC_2.17 alphasort F

> @@ -2558,6 +2560,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 1519e07346..58a853230e 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist

> @@ -1,6 +1,4 @@

>  GLIBC_2.17 __mq_open_2 F

> -GLIBC_2.17 aio_read F

> -GLIBC_2.17 aio_read64 F

>  GLIBC_2.17 aio_return F

>  GLIBC_2.17 aio_return64 F

>  GLIBC_2.17 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> index 585c9b7cf7..de26c22e23 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> @@ -551,6 +551,8 @@ 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 alarm F

>  GLIBC_2.33 aligned_alloc F

>  GLIBC_2.33 alphasort F

> @@ -2123,6 +2125,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 8e30efa6a1..8e15ebe652 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist

> @@ -1,6 +1,4 @@

>  GLIBC_2.33 __mq_open_2 F

> -GLIBC_2.33 aio_read F

> -GLIBC_2.33 aio_read64 F

>  GLIBC_2.33 aio_return F

>  GLIBC_2.33 aio_return64 F

>  GLIBC_2.33 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> index d8aa40cb34..d0ca205432 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> @@ -577,6 +577,8 @@ 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 alarm F

>  GLIBC_2.27 aligned_alloc F

>  GLIBC_2.27 alphasort F

> @@ -2323,6 +2325,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 7145c7d249..fe48c3cfea 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist

> @@ -1,6 +1,4 @@

>  GLIBC_2.27 __mq_open_2 F

> -GLIBC_2.27 aio_read F

> -GLIBC_2.27 aio_read64 F

>  GLIBC_2.27 aio_return F

>  GLIBC_2.27 aio_return64 F

>  GLIBC_2.27 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> index 52a7d18745..a773148442 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> @@ -1479,6 +1479,8 @@ 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 alphasort64 F

>  GLIBC_2.1 argp_err_exit_status D 0x4

>  GLIBC_2.1 argp_error F

> @@ -2487,6 +2489,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.1 aio_read F

> -GLIBC_2.1 aio_read64 F

>  GLIBC_2.1 aio_return F

>  GLIBC_2.1 aio_return64 F

>  GLIBC_2.1 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> index 1078e94135..14899f40f7 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> @@ -577,6 +577,8 @@ 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 alarm F

>  GLIBC_2.2 alphasort F

>  GLIBC_2.2 alphasort64 F

> @@ -2296,6 +2298,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 0396a04bd2..a65683ca9d 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.2 aio_read F

> -GLIBC_2.2 aio_read64 F

>  GLIBC_2.2 aio_return F

>  GLIBC_2.2 aio_return64 F

>  GLIBC_2.2 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> index 90c2a79d6e..a255e3eeac 100644

> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> @@ -14,6 +14,8 @@ 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 dlopen F

>  GLIBC_2.1 dlvsym F

>  GLIBC_2.10 __cxa_at_quick_exit F

> @@ -2342,6 +2344,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644

> --- a/sysdeps/unix/sysv/linux/sh/be/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/be/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.1 aio_read F

> -GLIBC_2.1 aio_read64 F

>  GLIBC_2.1 aio_return F

>  GLIBC_2.1 aio_return64 F

>  GLIBC_2.1 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> index a624e97cab..45c49ba662 100644

> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> @@ -14,6 +14,8 @@ 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 dlopen F

>  GLIBC_2.1 dlvsym F

>  GLIBC_2.10 __cxa_at_quick_exit F

> @@ -2339,6 +2341,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644

> --- a/sysdeps/unix/sysv/linux/sh/le/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/le/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.1 aio_read F

> -GLIBC_2.1 aio_read64 F

>  GLIBC_2.1 aio_return F

>  GLIBC_2.1 aio_return64 F

>  GLIBC_2.1 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> index c65022cdd9..07a68d78e3 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> @@ -1481,6 +1481,8 @@ 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 alphasort64 F

>  GLIBC_2.1 argp_err_exit_status D 0x4

>  GLIBC_2.1 argp_error F

> @@ -2482,6 +2484,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 183e0cbf21..2202b8ef5f 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.1 aio_read F

> -GLIBC_2.1 aio_read64 F

>  GLIBC_2.1 aio_return F

>  GLIBC_2.1 aio_return64 F

>  GLIBC_2.1 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> index 5e90b1e6f7..8b549e7efc 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> @@ -14,6 +14,8 @@ 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 dlopen F

>  GLIBC_2.1 dlvsym F

>  GLIBC_2.10 __cxa_at_quick_exit F

> @@ -2318,6 +2320,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 f4dd36f97b..2afa483191 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.1 aio_read F

> -GLIBC_2.1 aio_read64 F

>  GLIBC_2.1 aio_return F

>  GLIBC_2.1 aio_return64 F

>  GLIBC_2.1 aio_suspend F


__WORDSIZE

> diff --git a/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c b/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c

> deleted file mode 100644

> index 8310b484d0..0000000000

> --- a/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c

> +++ /dev/null

> @@ -1,7 +0,0 @@

> -#define aio_read64 __renamed_aio_read64

> -

> -#include <rt/aio_read.c>

> -

> -#undef aio_read64

> -

> -weak_alias (aio_read, aio_read64)


Ok.

> diff --git a/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c b/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c

> deleted file mode 100644

> index 6a6a102c8d..0000000000

> --- a/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c

> +++ /dev/null

> @@ -1 +0,0 @@

> -/* Defined in aio_read.c.  */


Ok.

> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> index 3911e41a47..e8d70016a6 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> @@ -566,6 +566,8 @@ 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 alarm F

>  GLIBC_2.2.5 alphasort F

>  GLIBC_2.2.5 alphasort64 F

> @@ -2274,6 +2276,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 f1cce35e0a..e9d2aeb05b 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist

> @@ -1,5 +1,3 @@

> -GLIBC_2.2.5 aio_read F

> -GLIBC_2.2.5 aio_read64 F

>  GLIBC_2.2.5 aio_return F

>  GLIBC_2.2.5 aio_return64 F

>  GLIBC_2.2.5 aio_suspend F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> index bae6dd505b..40921d5579 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> @@ -599,6 +599,8 @@ 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 alarm F

>  GLIBC_2.16 aligned_alloc F

>  GLIBC_2.16 alphasort F

> @@ -2377,6 +2379,8 @@ GLIBC_2.34 aio_error64 F

>  GLIBC_2.34 aio_fsync F

>  GLIBC_2.34 aio_fsync64 F

>  GLIBC_2.34 aio_init F

> +GLIBC_2.34 aio_read F

> +GLIBC_2.34 aio_read64 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 acaa63d92f..bbd0f42caa 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist

> @@ -1,6 +1,4 @@

>  GLIBC_2.16 __mq_open_2 F

> -GLIBC_2.16 aio_read F

> -GLIBC_2.16 aio_read64 F

>  GLIBC_2.16 aio_return F

>  GLIBC_2.16 aio_return64 F

>  GLIBC_2.16 aio_suspend F

> 

Ok.
Florian Weimer via Libc-alpha June 25, 2021, 9:53 a.m. | #2
* Adhemerval Zanella:

>> diff --git a/rt/Versions b/rt/Versions

>> index 1a0aa77fd0..6db40bebc4 100644

>> --- a/rt/Versions

>> +++ b/rt/Versions

>> @@ -8,6 +8,8 @@ libc {

>>      aio_error64;

>>      aio_fsync;

>>      aio_fsync64;

>> +    aio_read;

>> +    aio_read64;

>>  %endif

>>    }

>>    GLIBC_2.2 {

>> @@ -23,6 +25,8 @@ libc {

>>      aio_error64;

>>      aio_fsync;

>>      aio_fsync64;

>> +    aio_read;

>> +    aio_read64;

>>  %endif

>>      shm_open;

>>      shm_unlink;

>> @@ -51,9 +55,9 @@ librt {

>>      aio_fsync;

>>      aio_fsync64;

>>      aio_init;

>> -%endif

>>      aio_read;

>>      aio_read64;

>> +%endif

>>      aio_return;

>>      aio_return64;

>>      aio_suspend;

> __WORDSIZE


>> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist

>> index f4dd36f97b..2afa483191 100644

>> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist

>> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist

>> @@ -1,5 +1,3 @@

>> -GLIBC_2.1 aio_read F

>> -GLIBC_2.1 aio_read64 F

>>  GLIBC_2.1 aio_return F

>>  GLIBC_2.1 aio_return64 F

>>  GLIBC_2.1 aio_suspend F

>

> __WORDSIZE


Sorry, what do you mean by these two comments?

Thanks,
Florian
Florian Weimer via Libc-alpha June 25, 2021, 12:36 p.m. | #3
On 25/06/2021 06:53, Florian Weimer wrote:
> * Adhemerval Zanella:

> 

>>> diff --git a/rt/Versions b/rt/Versions

>>> index 1a0aa77fd0..6db40bebc4 100644

>>> --- a/rt/Versions

>>> +++ b/rt/Versions

>>> @@ -8,6 +8,8 @@ libc {

>>>      aio_error64;

>>>      aio_fsync;

>>>      aio_fsync64;

>>> +    aio_read;

>>> +    aio_read64;

>>>  %endif

>>>    }

>>>    GLIBC_2.2 {

>>> @@ -23,6 +25,8 @@ libc {

>>>      aio_error64;

>>>      aio_fsync;

>>>      aio_fsync64;

>>> +    aio_read;

>>> +    aio_read64;

>>>  %endif

>>>      shm_open;

>>>      shm_unlink;

>>> @@ -51,9 +55,9 @@ librt {

>>>      aio_fsync;

>>>      aio_fsync64;

>>>      aio_init;

>>> -%endif

>>>      aio_read;

>>>      aio_read64;

>>> +%endif

>>>      aio_return;

>>>      aio_return64;

>>>      aio_suspend;

>> __WORDSIZE

> 

>>> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist

>>> index f4dd36f97b..2afa483191 100644

>>> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist

>>> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist

>>> @@ -1,5 +1,3 @@

>>> -GLIBC_2.1 aio_read F

>>> -GLIBC_2.1 aio_read64 F

>>>  GLIBC_2.1 aio_return F

>>>  GLIBC_2.1 aio_return64 F

>>>  GLIBC_2.1 aio_suspend F

>>

>> __WORDSIZE

> 


My mistake here, it should be 'Ok'.

Patch

diff --git a/rt/Makefile b/rt/Makefile
index ca8c818a25..f080be56d5 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -29,8 +29,6 @@  routines = \
   shm_unlink \
 
 librt-routines = \
-  aio_read \
-  aio_read64 \
   aio_return \
   aio_suspend \
   aio_write \
@@ -62,6 +60,8 @@  $(librt-routines-var) += \
   aio_fsync \
   aio_misc \
   aio_notify \
+  aio_read \
+  aio_read64 \
   aio_sigqueue \
 
 tests := tst-shm tst-timer tst-timer2 \
diff --git a/rt/Versions b/rt/Versions
index 1a0aa77fd0..6db40bebc4 100644
--- a/rt/Versions
+++ b/rt/Versions
@@ -8,6 +8,8 @@  libc {
     aio_error64;
     aio_fsync;
     aio_fsync64;
+    aio_read;
+    aio_read64;
 %endif
   }
   GLIBC_2.2 {
@@ -23,6 +25,8 @@  libc {
     aio_error64;
     aio_fsync;
     aio_fsync64;
+    aio_read;
+    aio_read64;
 %endif
     shm_open;
     shm_unlink;
@@ -51,9 +55,9 @@  librt {
     aio_fsync;
     aio_fsync64;
     aio_init;
-%endif
     aio_read;
     aio_read64;
+%endif
     aio_return;
     aio_return64;
     aio_suspend;
diff --git a/rt/aio_read.c b/rt/aio_read.c
index 4698e48b1c..1b7a7fcfa9 100644
--- a/rt/aio_read.c
+++ b/rt/aio_read.c
@@ -17,14 +17,45 @@ 
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#include <aio.h>
+#include <bits/wordsize.h>
+#if __WORDSIZE == 64
+/* We use an UGLY hack to prevent gcc from finding us cheating.  The
+   implementation of aio_read and aio_read64 are identical and so
+   we want to avoid code duplication by using aliases.  But gcc sees
+   the different parameter lists and prints a warning.  We define here
+   a function so that aio_read64 has no prototype.  */
+# define aio_read64 XXX
+# include <aio.h>
+/* And undo the hack.  */
+# undef aio_read64
+#else
+# include <aio.h>
+#endif
 
 #include <aio_misc.h>
-
+#include <shlib-compat.h>
 
 int
-aio_read (struct aiocb *aiocbp)
+__aio_read (struct aiocb *aiocbp)
 {
   return (__aio_enqueue_request ((aiocb_union *) aiocbp, LIO_READ) == NULL
 	  ? -1 : 0);
 }
+
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __aio_read, aio_read, GLIBC_2_34);
+# if __WORDSIZE == 64
+versioned_symbol (libc, __aio_read, aio_read64, GLIBC_2_34);
+# endif
+# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (librt, __aio_read, aio_read, GLIBC_2_1);
+#  if __WORDSIZE == 64
+compat_symbol (librt, __aio_read, aio_read64, GLIBC_2_1);
+#  endif
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__aio_read, aio_read)
+# if __WORDSIZE == 64
+weak_alias (__aio_read, aio_read64)
+#endif
+#endif  /* !PTHREAD_IN_LIBC */
diff --git a/rt/aio_read64.c b/rt/aio_read64.c
index 26b9b0b380..3aa169fbf3 100644
--- a/rt/aio_read64.c
+++ b/rt/aio_read64.c
@@ -17,14 +17,26 @@ 
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#include <aio.h>
-
-#include <aio_misc.h>
+#include <bits/wordsize.h>
+#if __WORDSIZE != 64
 
+# include <aio.h>
+# include <aio_misc.h>
+# include <shlib-compat.h>
 
 int
-aio_read64 (struct aiocb64 *aiocbp)
+__aio_read64 (struct aiocb64 *aiocbp)
 {
   return (__aio_enqueue_request ((aiocb_union *) aiocbp, LIO_READ64) == NULL
 	  ? -1 : 0);
 }
+
+# if PTHREAD_IN_LIBC
+versioned_symbol (libc, __aio_read64, aio_read64, GLIBC_2_34);
+#  if OTHER_SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (librt, __aio_read64, aio_read64, GLIBC_2_1);
+#  endif
+# else /* !PTHREAD_IN_LIBC */
+strong_alias (__aio_read64, aio_read64)
+# endif
+#endif /* __WORDSIZE != 64 */
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index cf141fdf08..d210f88f0e 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -596,6 +596,8 @@  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 alarm F
 GLIBC_2.17 aligned_alloc F
 GLIBC_2.17 alphasort F
@@ -2362,6 +2364,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 1519e07346..58a853230e 100644
--- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
@@ -1,6 +1,4 @@ 
 GLIBC_2.17 __mq_open_2 F
-GLIBC_2.17 aio_read F
-GLIBC_2.17 aio_read64 F
 GLIBC_2.17 aio_return F
 GLIBC_2.17 aio_return64 F
 GLIBC_2.17 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 8d58f3ea87..08ea11c9fe 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1509,6 +1509,8 @@  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 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2457,6 +2459,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 f4dd36f97b..2afa483191 100644
--- a/sysdeps/unix/sysv/linux/alpha/librt.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.1 aio_read F
-GLIBC_2.1 aio_read64 F
 GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 7579936aca..817c4c6ff0 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -557,6 +557,8 @@  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 alarm F
 GLIBC_2.32 aligned_alloc F
 GLIBC_2.32 alphasort F
@@ -2121,6 +2123,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 15b9acf33c..e49be2ff36 100644
--- a/sysdeps/unix/sysv/linux/arc/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arc/librt.abilist
@@ -1,6 +1,4 @@ 
 GLIBC_2.32 __mq_open_2 F
-GLIBC_2.32 aio_read F
-GLIBC_2.32 aio_read64 F
 GLIBC_2.32 aio_return F
 GLIBC_2.32 aio_return64 F
 GLIBC_2.32 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 566d18d20a..0be92527af 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -285,6 +285,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
@@ -995,6 +997,8 @@  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 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 1fa78d6811..9a68bb887b 100644
--- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
@@ -3,8 +3,6 @@  GLIBC_2.34 __mq_timedreceive_time64 F
 GLIBC_2.34 __mq_timedsend_time64 F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 aio_read F
-GLIBC_2.4 aio_read64 F
 GLIBC_2.4 aio_return F
 GLIBC_2.4 aio_return64 F
 GLIBC_2.4 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 40da72fe92..615b37769a 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -282,6 +282,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
@@ -992,6 +994,8 @@  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 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 1fa78d6811..9a68bb887b 100644
--- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
@@ -3,8 +3,6 @@  GLIBC_2.34 __mq_timedreceive_time64 F
 GLIBC_2.34 __mq_timedsend_time64 F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 aio_read F
-GLIBC_2.4 aio_read64 F
 GLIBC_2.4 aio_return F
 GLIBC_2.4 aio_return64 F
 GLIBC_2.4 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index b0e1eab37e..e77bb5b57b 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -571,6 +571,8 @@  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 alarm F
 GLIBC_2.29 aligned_alloc F
 GLIBC_2.29 alphasort F
@@ -2381,6 +2383,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 9c3edc9f2f..93475f5bd5 100644
--- a/sysdeps/unix/sysv/linux/csky/librt.abilist
+++ b/sysdeps/unix/sysv/linux/csky/librt.abilist
@@ -1,6 +1,4 @@ 
 GLIBC_2.29 __mq_open_2 F
-GLIBC_2.29 aio_read F
-GLIBC_2.29 aio_read64 F
 GLIBC_2.29 aio_return F
 GLIBC_2.29 aio_return64 F
 GLIBC_2.29 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 463b498665..12704a350a 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -10,6 +10,8 @@  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 dlopen F
 GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
@@ -2335,6 +2337,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644
--- a/sysdeps/unix/sysv/linux/hppa/librt.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.1 aio_read F
-GLIBC_2.1 aio_read64 F
 GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 2015282000..67d1fbcade 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1482,6 +1482,8 @@  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 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2519,6 +2521,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644
--- a/sysdeps/unix/sysv/linux/i386/librt.abilist
+++ b/sysdeps/unix/sysv/linux/i386/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.1 aio_read F
-GLIBC_2.1 aio_read64 F
 GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index f83ba75cac..83d6bbfdf2 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -10,6 +10,8 @@  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 dlopen F
 GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
@@ -2295,6 +2297,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 38dd6dfb53..152692a5a6 100644
--- a/sysdeps/unix/sysv/linux/ia64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.1 aio_read F
-GLIBC_2.1 aio_read64 F
 GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index a0ca9ddc48..537df59369 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -286,6 +286,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
@@ -983,6 +985,8 @@  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 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 1fa78d6811..9a68bb887b 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
@@ -3,8 +3,6 @@  GLIBC_2.34 __mq_timedreceive_time64 F
 GLIBC_2.34 __mq_timedsend_time64 F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 aio_read F
-GLIBC_2.4 aio_read64 F
 GLIBC_2.4 aio_return F
 GLIBC_2.4 aio_return64 F
 GLIBC_2.4 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index bef73ca536..fefee687b2 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1480,6 +1480,8 @@  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 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2462,6 +2464,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.1 aio_read F
-GLIBC_2.1 aio_read64 F
 GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 1f2c7f0fd9..635b62cd31 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -598,6 +598,8 @@  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 alarm F
 GLIBC_2.18 aligned_alloc F
 GLIBC_2.18 alphasort F
@@ -2432,6 +2434,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 87eeccd69c..34f5bc3964 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
@@ -1,6 +1,4 @@ 
 GLIBC_2.18 __mq_open_2 F
-GLIBC_2.18 aio_read F
-GLIBC_2.18 aio_read64 F
 GLIBC_2.18 aio_return F
 GLIBC_2.18 aio_return64 F
 GLIBC_2.18 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 191db5f985..cce81d50da 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -598,6 +598,8 @@  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 alarm F
 GLIBC_2.18 aligned_alloc F
 GLIBC_2.18 alphasort F
@@ -2429,6 +2431,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 87eeccd69c..34f5bc3964 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
@@ -1,6 +1,4 @@ 
 GLIBC_2.18 __mq_open_2 F
-GLIBC_2.18 aio_read F
-GLIBC_2.18 aio_read64 F
 GLIBC_2.18 aio_return F
 GLIBC_2.18 aio_return64 F
 GLIBC_2.18 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 5eb630a9f5..d4e0f597ba 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1658,6 +1658,8 @@  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 alphasort64 F
 GLIBC_2.2 argp_err_exit_status D 0x4
 GLIBC_2.2 argp_error F
@@ -2427,6 +2429,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 9e2c283942..d886f0376c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.2 aio_read F
-GLIBC_2.2 aio_read64 F
 GLIBC_2.2 aio_return F
 GLIBC_2.2 aio_return64 F
 GLIBC_2.2 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index a1b8e02ca4..757c40c34c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1656,6 +1656,8 @@  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 alphasort64 F
 GLIBC_2.2 argp_err_exit_status D 0x4
 GLIBC_2.2 argp_error F
@@ -2425,6 +2427,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 dd33f448b7..d1c919b14f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1657,6 +1657,8 @@  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 alphasort64 F
 GLIBC_2.2 argp_err_exit_status D 0x4
 GLIBC_2.2 argp_error F
@@ -2433,6 +2435,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 9e2c283942..d886f0376c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.2 aio_read F
-GLIBC_2.2 aio_read64 F
 GLIBC_2.2 aio_return F
 GLIBC_2.2 aio_return64 F
 GLIBC_2.2 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index efda95dd32..6c3dd08461 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1653,6 +1653,8 @@  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 alphasort64 F
 GLIBC_2.2 argp_err_exit_status D 0x4
 GLIBC_2.2 argp_error F
@@ -2351,6 +2353,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 848a39faae..6c94c34024 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.2 aio_read F
-GLIBC_2.2 aio_read64 F
 GLIBC_2.2 aio_return F
 GLIBC_2.2 aio_return64 F
 GLIBC_2.2 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index e2739a9145..160e1d491e 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -640,6 +640,8 @@  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 alarm F
 GLIBC_2.21 aligned_alloc F
 GLIBC_2.21 alphasort F
@@ -2471,6 +2473,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 24472cb04f..7d197b8c5d 100644
--- a/sysdeps/unix/sysv/linux/nios2/librt.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist
@@ -1,6 +1,4 @@ 
 GLIBC_2.21 __mq_open_2 F
-GLIBC_2.21 aio_read F
-GLIBC_2.21 aio_read64 F
 GLIBC_2.21 aio_return F
 GLIBC_2.21 aio_return64 F
 GLIBC_2.21 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 6c816268cd..2923d162e0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1487,6 +1487,8 @@  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 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2489,6 +2491,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.1 aio_read F
-GLIBC_2.1 aio_read64 F
 GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 03dadcef85..b6feabe5e4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1487,6 +1487,8 @@  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 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2522,6 +2524,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 c355eb4607..b149e31698 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -640,6 +640,8 @@  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 alarm F
 GLIBC_2.3 alphasort F
 GLIBC_2.3 alphasort64 F
@@ -2259,6 +2261,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 951344a6ef..d0ddb7852e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.3 aio_read F
-GLIBC_2.3 aio_read64 F
 GLIBC_2.3 aio_return F
 GLIBC_2.3 aio_return64 F
 GLIBC_2.3 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index abe39f4a96..607abc7f32 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -684,6 +684,8 @@  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 alarm F
 GLIBC_2.17 aligned_alloc F
 GLIBC_2.17 alphasort F
@@ -2558,6 +2560,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 1519e07346..58a853230e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
@@ -1,6 +1,4 @@ 
 GLIBC_2.17 __mq_open_2 F
-GLIBC_2.17 aio_read F
-GLIBC_2.17 aio_read64 F
 GLIBC_2.17 aio_return F
 GLIBC_2.17 aio_return64 F
 GLIBC_2.17 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 585c9b7cf7..de26c22e23 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -551,6 +551,8 @@  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 alarm F
 GLIBC_2.33 aligned_alloc F
 GLIBC_2.33 alphasort F
@@ -2123,6 +2125,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 8e30efa6a1..8e15ebe652 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
@@ -1,6 +1,4 @@ 
 GLIBC_2.33 __mq_open_2 F
-GLIBC_2.33 aio_read F
-GLIBC_2.33 aio_read64 F
 GLIBC_2.33 aio_return F
 GLIBC_2.33 aio_return64 F
 GLIBC_2.33 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index d8aa40cb34..d0ca205432 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -577,6 +577,8 @@  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 alarm F
 GLIBC_2.27 aligned_alloc F
 GLIBC_2.27 alphasort F
@@ -2323,6 +2325,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 7145c7d249..fe48c3cfea 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
@@ -1,6 +1,4 @@ 
 GLIBC_2.27 __mq_open_2 F
-GLIBC_2.27 aio_read F
-GLIBC_2.27 aio_read64 F
 GLIBC_2.27 aio_return F
 GLIBC_2.27 aio_return64 F
 GLIBC_2.27 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 52a7d18745..a773148442 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1479,6 +1479,8 @@  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 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2487,6 +2489,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.1 aio_read F
-GLIBC_2.1 aio_read64 F
 GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 1078e94135..14899f40f7 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -577,6 +577,8 @@  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 alarm F
 GLIBC_2.2 alphasort F
 GLIBC_2.2 alphasort64 F
@@ -2296,6 +2298,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 0396a04bd2..a65683ca9d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.2 aio_read F
-GLIBC_2.2 aio_read64 F
 GLIBC_2.2 aio_return F
 GLIBC_2.2 aio_return64 F
 GLIBC_2.2 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 90c2a79d6e..a255e3eeac 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -14,6 +14,8 @@  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 dlopen F
 GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
@@ -2342,6 +2344,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644
--- a/sysdeps/unix/sysv/linux/sh/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.1 aio_read F
-GLIBC_2.1 aio_read64 F
 GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index a624e97cab..45c49ba662 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -14,6 +14,8 @@  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 dlopen F
 GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
@@ -2339,6 +2341,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 8ac375872c..0402dcddcc 100644
--- a/sysdeps/unix/sysv/linux/sh/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.1 aio_read F
-GLIBC_2.1 aio_read64 F
 GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index c65022cdd9..07a68d78e3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1481,6 +1481,8 @@  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 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2482,6 +2484,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 183e0cbf21..2202b8ef5f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.1 aio_read F
-GLIBC_2.1 aio_read64 F
 GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 5e90b1e6f7..8b549e7efc 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -14,6 +14,8 @@  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 dlopen F
 GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
@@ -2318,6 +2320,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 f4dd36f97b..2afa483191 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.1 aio_read F
-GLIBC_2.1 aio_read64 F
 GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c b/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c
deleted file mode 100644
index 8310b484d0..0000000000
--- a/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c
+++ /dev/null
@@ -1,7 +0,0 @@ 
-#define aio_read64 __renamed_aio_read64
-
-#include <rt/aio_read.c>
-
-#undef aio_read64
-
-weak_alias (aio_read, aio_read64)
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c b/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c
deleted file mode 100644
index 6a6a102c8d..0000000000
--- a/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c
+++ /dev/null
@@ -1 +0,0 @@ 
-/* Defined in aio_read.c.  */
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 3911e41a47..e8d70016a6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -566,6 +566,8 @@  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 alarm F
 GLIBC_2.2.5 alphasort F
 GLIBC_2.2.5 alphasort64 F
@@ -2274,6 +2276,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 f1cce35e0a..e9d2aeb05b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.2.5 aio_read F
-GLIBC_2.2.5 aio_read64 F
 GLIBC_2.2.5 aio_return F
 GLIBC_2.2.5 aio_return64 F
 GLIBC_2.2.5 aio_suspend F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index bae6dd505b..40921d5579 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -599,6 +599,8 @@  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 alarm F
 GLIBC_2.16 aligned_alloc F
 GLIBC_2.16 alphasort F
@@ -2377,6 +2379,8 @@  GLIBC_2.34 aio_error64 F
 GLIBC_2.34 aio_fsync F
 GLIBC_2.34 aio_fsync64 F
 GLIBC_2.34 aio_init F
+GLIBC_2.34 aio_read F
+GLIBC_2.34 aio_read64 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 acaa63d92f..bbd0f42caa 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
@@ -1,6 +1,4 @@ 
 GLIBC_2.16 __mq_open_2 F
-GLIBC_2.16 aio_read F
-GLIBC_2.16 aio_read64 F
 GLIBC_2.16 aio_return F
 GLIBC_2.16 aio_return64 F
 GLIBC_2.16 aio_suspend F