[18/35] Linux: Move aio_write, aio_write64 into libc

Message ID 4278fb52295280bb2c7902e70cfa712b505cd265.1622761828.git.fweimer@redhat.com
State Superseded
Delegated to: Adhemerval Zanella Netto
Headers
Series Linux: Move librt into libc |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Florian Weimer June 3, 2021, 11:16 p.m. UTC
  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_write.c                                | 37 +++++++++++++++++--
 rt/aio_write64.c                              | 22 ++++++++---
 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 ++
 .../unix/sysv/linux/mips/mips64/librt.abilist |  2 -
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 ++
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 ++
 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_write.c   |  7 ----
 .../unix/sysv/linux/wordsize-64/aio_write64.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 -
 67 files changed, 186 insertions(+), 77 deletions(-)
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/aio_write.c
 delete mode 100644 sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c
  

Patch

diff --git a/rt/Makefile b/rt/Makefile
index 40159e6659..362ce31834 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -29,8 +29,6 @@  routines = \
   shm_unlink \
 
 librt-routines = \
-  aio_write \
-  aio_write64 \
   librt-compat \
   lio_listio \
   lio_listio64 \
@@ -63,6 +61,8 @@  $(librt-routines-var) += \
   aio_return \
   aio_sigqueue \
   aio_suspend \
+  aio_write \
+  aio_write64 \
 
 tests := tst-shm tst-timer tst-timer2 \
 	 tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \
diff --git a/rt/Versions b/rt/Versions
index d54b9cc4bf..f2b4ced257 100644
--- a/rt/Versions
+++ b/rt/Versions
@@ -14,6 +14,8 @@  libc {
     aio_return64;
     aio_suspend;
     aio_suspend64;
+    aio_write;
+    aio_write64;
 %endif
   }
   GLIBC_2.2 {
@@ -35,6 +37,8 @@  libc {
     aio_return64;
     aio_suspend;
     aio_suspend64;
+    aio_write;
+    aio_write64;
 %endif
     shm_open;
     shm_unlink;
@@ -69,9 +73,9 @@  librt {
     aio_return64;
     aio_suspend;
     aio_suspend64;
-%endif
     aio_write;
     aio_write64;
+%endif
     lio_listio;
     lio_listio64;
   }
diff --git a/rt/aio_write.c b/rt/aio_write.c
index ea55f0dbbc..ad50bc9282 100644
--- a/rt/aio_write.c
+++ b/rt/aio_write.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_write and aio_write64 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_write64 has no prototype.  */
+# define aio_write64 XXX
+# include <aio.h>
+/* And undo the hack.  */
+# undef aio_write64
+#else
+# include <aio.h>
+#endif
 
 #include <aio_misc.h>
-
+#include <shlib-compat.h>
 
 int
-aio_write (struct aiocb *aiocbp)
+__aio_write (struct aiocb *aiocbp)
 {
   return (__aio_enqueue_request ((aiocb_union *) aiocbp, LIO_WRITE) == NULL
 	  ? -1 : 0);
 }
+
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __aio_write, aio_write, GLIBC_2_34);
+# if __WORDSIZE == 64
+versioned_symbol (libc, __aio_write, aio_write64, GLIBC_2_34);
+# endif
+# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (librt, __aio_write, aio_write, GLIBC_2_1);
+#  if __WORDSIZE == 64
+compat_symbol (librt, __aio_write, aio_write64, GLIBC_2_1);
+#  endif
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__aio_write, aio_write)
+# if __WORDSIZE == 64
+weak_alias (__aio_write, aio_write64)
+#endif
+#endif  /* !PTHREAD_IN_LIBC */
diff --git a/rt/aio_write64.c b/rt/aio_write64.c
index bd6dd316be..5660fa5a41 100644
--- a/rt/aio_write64.c
+++ b/rt/aio_write64.c
@@ -1,4 +1,4 @@ 
-/* Asynchronous write, 64bit offset version.
+/* Asynchronous read, 64bit offset version.
    Copyright (C) 1997-2021 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -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_write64 (struct aiocb64 *aiocbp)
+__aio_write64 (struct aiocb64 *aiocbp)
 {
   return (__aio_enqueue_request ((aiocb_union *) aiocbp, LIO_WRITE64) == NULL
 	  ? -1 : 0);
 }
+
+# if PTHREAD_IN_LIBC
+versioned_symbol (libc, __aio_write64, aio_write64, GLIBC_2_34);
+#  if OTHER_SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (librt, __aio_write64, aio_write64, GLIBC_2_1);
+#  endif
+# else /* !PTHREAD_IN_LIBC */
+strong_alias (__aio_write64, aio_write64)
+# endif
+#endif /* __WORDSIZE != 64 */
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 8b32d969c2..db6ba5f81c 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -602,6 +602,8 @@  GLIBC_2.17 aio_return F
 GLIBC_2.17 aio_return64 F
 GLIBC_2.17 aio_suspend F
 GLIBC_2.17 aio_suspend64 F
+GLIBC_2.17 aio_write F
+GLIBC_2.17 aio_write64 F
 GLIBC_2.17 alarm F
 GLIBC_2.17 aligned_alloc F
 GLIBC_2.17 alphasort F
@@ -2372,6 +2374,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 37ff014ed8..66c645887e 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_write F
-GLIBC_2.17 aio_write64 F
 GLIBC_2.17 lio_listio F
 GLIBC_2.17 lio_listio64 F
 GLIBC_2.17 mq_close F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 6cdec57370..03ff54e3ee 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1515,6 +1515,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2467,6 +2469,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 8a8fe654e0..89a7344c1c 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_write F
-GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 480bfcb4d4..448ddee2a6 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -563,6 +563,8 @@  GLIBC_2.32 aio_return F
 GLIBC_2.32 aio_return64 F
 GLIBC_2.32 aio_suspend F
 GLIBC_2.32 aio_suspend64 F
+GLIBC_2.32 aio_write F
+GLIBC_2.32 aio_write64 F
 GLIBC_2.32 alarm F
 GLIBC_2.32 aligned_alloc F
 GLIBC_2.32 alphasort F
@@ -2131,6 +2133,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 4eb7de36e1..780fb36a31 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_write F
-GLIBC_2.32 aio_write64 F
 GLIBC_2.32 lio_listio F
 GLIBC_2.32 lio_listio64 F
 GLIBC_2.32 mq_close F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 0ead74ac80..e926eacc06 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -213,6 +213,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
@@ -929,6 +931,8 @@  GLIBC_2.4 aio_return F
 GLIBC_2.4 aio_return64 F
 GLIBC_2.4 aio_suspend F
 GLIBC_2.4 aio_suspend64 F
+GLIBC_2.4 aio_write F
+GLIBC_2.4 aio_write64 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 72fdc18d83..818fdf1797 100644
--- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.4 aio_write F
-GLIBC_2.4 aio_write64 F
 GLIBC_2.4 lio_listio F
 GLIBC_2.4 lio_listio64 F
 GLIBC_2.4 mq_close F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 9ea02dccbc..857c1546ba 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -210,6 +210,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
@@ -926,6 +928,8 @@  GLIBC_2.4 aio_return F
 GLIBC_2.4 aio_return64 F
 GLIBC_2.4 aio_suspend F
 GLIBC_2.4 aio_suspend64 F
+GLIBC_2.4 aio_write F
+GLIBC_2.4 aio_write64 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 72fdc18d83..818fdf1797 100644
--- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.4 aio_write F
-GLIBC_2.4 aio_write64 F
 GLIBC_2.4 lio_listio F
 GLIBC_2.4 lio_listio64 F
 GLIBC_2.4 mq_close F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index f2d1cef0d1..719441a127 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -577,6 +577,8 @@  GLIBC_2.29 aio_return F
 GLIBC_2.29 aio_return64 F
 GLIBC_2.29 aio_suspend F
 GLIBC_2.29 aio_suspend64 F
+GLIBC_2.29 aio_write F
+GLIBC_2.29 aio_write64 F
 GLIBC_2.29 alarm F
 GLIBC_2.29 aligned_alloc F
 GLIBC_2.29 alphasort F
@@ -2315,6 +2317,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 9cb53aecc9..4d00665a0c 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_write F
-GLIBC_2.29 aio_write64 F
 GLIBC_2.29 lio_listio F
 GLIBC_2.29 lio_listio64 F
 GLIBC_2.29 mq_close F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 8d2f9be2e6..39d391d78b 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -16,6 +16,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
@@ -2269,6 +2271,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 f0d68d65d1..fa648b6ecf 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_write F
-GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 915619ea46..ffe1befcd0 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1488,6 +1488,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2453,6 +2455,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 f0d68d65d1..fa648b6ecf 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_write F
-GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 629c703539..0a4c82d8b0 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -16,6 +16,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
@@ -2305,6 +2307,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 67435f760c..1eef73b204 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_write F
-GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 1e5dbe3b82..b475cf1f35 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -214,6 +214,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
@@ -917,6 +919,8 @@  GLIBC_2.4 aio_return F
 GLIBC_2.4 aio_return64 F
 GLIBC_2.4 aio_suspend F
 GLIBC_2.4 aio_suspend64 F
+GLIBC_2.4 aio_write F
+GLIBC_2.4 aio_write64 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 72fdc18d83..818fdf1797 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.4 aio_write F
-GLIBC_2.4 aio_write64 F
 GLIBC_2.4 lio_listio F
 GLIBC_2.4 lio_listio64 F
 GLIBC_2.4 mq_close F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 2f04dd9f9d..d935d2024d 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1486,6 +1486,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2396,6 +2398,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 f0d68d65d1..fa648b6ecf 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_write F
-GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 2206a5a019..1ee908c1c7 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -604,6 +604,8 @@  GLIBC_2.18 aio_return F
 GLIBC_2.18 aio_return64 F
 GLIBC_2.18 aio_suspend F
 GLIBC_2.18 aio_suspend64 F
+GLIBC_2.18 aio_write F
+GLIBC_2.18 aio_write64 F
 GLIBC_2.18 alarm F
 GLIBC_2.18 aligned_alloc F
 GLIBC_2.18 alphasort F
@@ -2366,6 +2368,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 83f58c4466..fd29f320e6 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_write F
-GLIBC_2.18 aio_write64 F
 GLIBC_2.18 lio_listio F
 GLIBC_2.18 lio_listio64 F
 GLIBC_2.18 mq_close F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 424aae99ab..869264be57 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -604,6 +604,8 @@  GLIBC_2.18 aio_return F
 GLIBC_2.18 aio_return64 F
 GLIBC_2.18 aio_suspend F
 GLIBC_2.18 aio_suspend64 F
+GLIBC_2.18 aio_write F
+GLIBC_2.18 aio_write64 F
 GLIBC_2.18 alarm F
 GLIBC_2.18 aligned_alloc F
 GLIBC_2.18 alphasort F
@@ -2363,6 +2365,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 83f58c4466..fd29f320e6 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_write F
-GLIBC_2.18 aio_write64 F
 GLIBC_2.18 lio_listio F
 GLIBC_2.18 lio_listio64 F
 GLIBC_2.18 mq_close F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 9f806233ad..82fc943f43 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1664,6 +1664,8 @@  GLIBC_2.2 aio_return F
 GLIBC_2.2 aio_return64 F
 GLIBC_2.2 aio_suspend F
 GLIBC_2.2 aio_suspend64 F
+GLIBC_2.2 aio_write F
+GLIBC_2.2 aio_write64 F
 GLIBC_2.2 alphasort64 F
 GLIBC_2.2 argp_err_exit_status D 0x4
 GLIBC_2.2 argp_error F
@@ -2361,6 +2363,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 7d7be4d9ec..f2cda0ef51 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_write F
-GLIBC_2.2 aio_write64 F
 GLIBC_2.2 lio_listio F
 GLIBC_2.2 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index f42bea7f3f..b6bae3f9ae 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1662,6 +1662,8 @@  GLIBC_2.2 aio_return F
 GLIBC_2.2 aio_return64 F
 GLIBC_2.2 aio_suspend F
 GLIBC_2.2 aio_suspend64 F
+GLIBC_2.2 aio_write F
+GLIBC_2.2 aio_write64 F
 GLIBC_2.2 alphasort64 F
 GLIBC_2.2 argp_err_exit_status D 0x4
 GLIBC_2.2 argp_error F
@@ -2359,6 +2361,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
index 7d7be4d9ec..f2cda0ef51 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.2 aio_write F
-GLIBC_2.2 aio_write64 F
 GLIBC_2.2 lio_listio F
 GLIBC_2.2 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 0b94c8807f..bd0d2d147b 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1663,6 +1663,8 @@  GLIBC_2.2 aio_return F
 GLIBC_2.2 aio_return64 F
 GLIBC_2.2 aio_suspend F
 GLIBC_2.2 aio_suspend64 F
+GLIBC_2.2 aio_write F
+GLIBC_2.2 aio_write64 F
 GLIBC_2.2 alphasort64 F
 GLIBC_2.2 argp_err_exit_status D 0x4
 GLIBC_2.2 argp_error F
@@ -2367,6 +2369,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 8250ec944c..edad39fe2d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1659,6 +1659,8 @@  GLIBC_2.2 aio_return F
 GLIBC_2.2 aio_return64 F
 GLIBC_2.2 aio_suspend F
 GLIBC_2.2 aio_suspend64 F
+GLIBC_2.2 aio_write F
+GLIBC_2.2 aio_write64 F
 GLIBC_2.2 alphasort64 F
 GLIBC_2.2 argp_err_exit_status D 0x4
 GLIBC_2.2 argp_error F
@@ -2361,6 +2363,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 42d7e3f4d0..501e6cc216 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -646,6 +646,8 @@  GLIBC_2.21 aio_return F
 GLIBC_2.21 aio_return64 F
 GLIBC_2.21 aio_suspend F
 GLIBC_2.21 aio_suspend64 F
+GLIBC_2.21 aio_write F
+GLIBC_2.21 aio_write64 F
 GLIBC_2.21 alarm F
 GLIBC_2.21 aligned_alloc F
 GLIBC_2.21 alphasort F
@@ -2405,6 +2407,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 0c656d887e..6f34788abc 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_write F
-GLIBC_2.21 aio_write64 F
 GLIBC_2.21 lio_listio F
 GLIBC_2.21 lio_listio64 F
 GLIBC_2.21 mq_close F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 22b5da8a91..9daf696ceb 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1493,6 +1493,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2423,6 +2425,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 f0d68d65d1..fa648b6ecf 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_write F
-GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 9eb496335e..3a31b4b343 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1493,6 +1493,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2456,6 +2458,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 b74d9de03e..877f9db62b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -646,6 +646,8 @@  GLIBC_2.3 aio_return F
 GLIBC_2.3 aio_return64 F
 GLIBC_2.3 aio_suspend F
 GLIBC_2.3 aio_suspend64 F
+GLIBC_2.3 aio_write F
+GLIBC_2.3 aio_write64 F
 GLIBC_2.3 alarm F
 GLIBC_2.3 alphasort F
 GLIBC_2.3 alphasort64 F
@@ -2269,6 +2271,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 205c9536b4..dcbadb2a1b 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_write F
-GLIBC_2.3 aio_write64 F
 GLIBC_2.3 lio_listio F
 GLIBC_2.3 lio_listio64 F
 GLIBC_2.3 timer_create F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 00580a8d73..faabb1e79b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -690,6 +690,8 @@  GLIBC_2.17 aio_return F
 GLIBC_2.17 aio_return64 F
 GLIBC_2.17 aio_suspend F
 GLIBC_2.17 aio_suspend64 F
+GLIBC_2.17 aio_write F
+GLIBC_2.17 aio_write64 F
 GLIBC_2.17 alarm F
 GLIBC_2.17 aligned_alloc F
 GLIBC_2.17 alphasort F
@@ -2568,6 +2570,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 37ff014ed8..66c645887e 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_write F
-GLIBC_2.17 aio_write64 F
 GLIBC_2.17 lio_listio F
 GLIBC_2.17 lio_listio64 F
 GLIBC_2.17 mq_close F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 41a87fa8a3..08c30656d9 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -557,6 +557,8 @@  GLIBC_2.33 aio_return F
 GLIBC_2.33 aio_return64 F
 GLIBC_2.33 aio_suspend F
 GLIBC_2.33 aio_suspend64 F
+GLIBC_2.33 aio_write F
+GLIBC_2.33 aio_write64 F
 GLIBC_2.33 alarm F
 GLIBC_2.33 aligned_alloc F
 GLIBC_2.33 alphasort F
@@ -2133,6 +2135,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 51c25c849d..82f04551d5 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_write F
-GLIBC_2.33 aio_write64 F
 GLIBC_2.33 lio_listio F
 GLIBC_2.33 lio_listio64 F
 GLIBC_2.33 mq_close F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index ae8203a8e3..e89f358a2c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -583,6 +583,8 @@  GLIBC_2.27 aio_return F
 GLIBC_2.27 aio_return64 F
 GLIBC_2.27 aio_suspend F
 GLIBC_2.27 aio_suspend64 F
+GLIBC_2.27 aio_write F
+GLIBC_2.27 aio_write64 F
 GLIBC_2.27 alarm F
 GLIBC_2.27 aligned_alloc F
 GLIBC_2.27 alphasort F
@@ -2333,6 +2335,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 7ccf2b6591..044eace5c3 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_write F
-GLIBC_2.27 aio_write64 F
 GLIBC_2.27 lio_listio F
 GLIBC_2.27 lio_listio64 F
 GLIBC_2.27 mq_close F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 90a7d47f59..2b5eff6fbf 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1485,6 +1485,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2421,6 +2423,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 f0d68d65d1..fa648b6ecf 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_write F
-GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 8f3feb4224..e84eb20c4f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -583,6 +583,8 @@  GLIBC_2.2 aio_return F
 GLIBC_2.2 aio_return64 F
 GLIBC_2.2 aio_suspend F
 GLIBC_2.2 aio_suspend64 F
+GLIBC_2.2 aio_write F
+GLIBC_2.2 aio_write64 F
 GLIBC_2.2 alarm F
 GLIBC_2.2 alphasort F
 GLIBC_2.2 alphasort64 F
@@ -2306,6 +2308,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 15c2ca3e70..03aed4d0f7 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_write F
-GLIBC_2.2 aio_write64 F
 GLIBC_2.2 lio_listio F
 GLIBC_2.2 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index a4bd693268..0891906730 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -20,6 +20,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
@@ -2276,6 +2278,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 f0d68d65d1..fa648b6ecf 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_write F
-GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 1150d1ee54..b16fb34a1d 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -20,6 +20,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
@@ -2273,6 +2275,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 f0d68d65d1..fa648b6ecf 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_write F
-GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 8518f28688..ce74524b55 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1487,6 +1487,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 alphasort64 F
 GLIBC_2.1 argp_err_exit_status D 0x4
 GLIBC_2.1 argp_error F
@@ -2416,6 +2418,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 3436b1c79d..659154799d 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_write F
-GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index efe3b9dd47..80e82903d8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -20,6 +20,8 @@  GLIBC_2.1 aio_return F
 GLIBC_2.1 aio_return64 F
 GLIBC_2.1 aio_suspend F
 GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
@@ -2328,6 +2330,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 8a8fe654e0..89a7344c1c 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_write F
-GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
 GLIBC_2.2 timer_create F
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/aio_write.c b/sysdeps/unix/sysv/linux/wordsize-64/aio_write.c
deleted file mode 100644
index 60d242f88f..0000000000
--- a/sysdeps/unix/sysv/linux/wordsize-64/aio_write.c
+++ /dev/null
@@ -1,7 +0,0 @@ 
-#define aio_write64 __renamed_aio_write64
-
-#include <rt/aio_write.c>
-
-#undef aio_write64
-
-weak_alias (aio_write, aio_write64)
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c b/sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c
deleted file mode 100644
index ced07fa273..0000000000
--- a/sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c
+++ /dev/null
@@ -1 +0,0 @@ 
-/* Defined in aio_write.c.  */
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 9c7ad981e1..1f27b3dd10 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -572,6 +572,8 @@  GLIBC_2.2.5 aio_return F
 GLIBC_2.2.5 aio_return64 F
 GLIBC_2.2.5 aio_suspend F
 GLIBC_2.2.5 aio_suspend64 F
+GLIBC_2.2.5 aio_write F
+GLIBC_2.2.5 aio_write64 F
 GLIBC_2.2.5 alarm F
 GLIBC_2.2.5 alphasort F
 GLIBC_2.2.5 alphasort64 F
@@ -2284,6 +2286,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 c2e8ab87d0..974a0bf943 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_write F
-GLIBC_2.2.5 aio_write64 F
 GLIBC_2.2.5 lio_listio F
 GLIBC_2.2.5 lio_listio64 F
 GLIBC_2.2.5 timer_create F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 0e9278c659..4bf905845b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -605,6 +605,8 @@  GLIBC_2.16 aio_return F
 GLIBC_2.16 aio_return64 F
 GLIBC_2.16 aio_suspend F
 GLIBC_2.16 aio_suspend64 F
+GLIBC_2.16 aio_write F
+GLIBC_2.16 aio_write64 F
 GLIBC_2.16 alarm F
 GLIBC_2.16 aligned_alloc F
 GLIBC_2.16 alphasort F
@@ -2387,6 +2389,8 @@  GLIBC_2.34 aio_return F
 GLIBC_2.34 aio_return64 F
 GLIBC_2.34 aio_suspend F
 GLIBC_2.34 aio_suspend64 F
+GLIBC_2.34 aio_write F
+GLIBC_2.34 aio_write64 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 f7245c6716..42f733844b 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_write F
-GLIBC_2.16 aio_write64 F
 GLIBC_2.16 lio_listio F
 GLIBC_2.16 lio_listio64 F
 GLIBC_2.16 mq_close F