diff --git a/nptl/Makefile b/nptl/Makefile
index b5f26c6864..005fef1bd7 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -178,7 +178,6 @@ libpthread-routines = \
   cleanup \
   cleanup_defer \
   events \
-  flockfile \
   ftrylockfile \
   funlockfile \
   libpthread-compat \
@@ -447,7 +446,6 @@ extra-objs += $(crti-objs) $(crtn-objs)
 extra-objs += pt-crti.o
 endif
 
-CFLAGS-flockfile.c += $(libio-mtsafe)
 CFLAGS-ftrylockfile.c += $(libio-mtsafe)
 CFLAGS-funlockfile.c += $(libio-mtsafe)
 
diff --git a/stdio-common/flockfile.c b/stdio-common/flockfile.c
index 0bc856a465..c838dcd538 100644
--- a/stdio-common/flockfile.c
+++ b/stdio-common/flockfile.c
@@ -17,13 +17,18 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <stdio.h>
-
-#undef _IO_flockfile
+#include <stdio-lock.h>
+#include <sys/single_threaded.h>
 
 void
 __flockfile (FILE *stream)
 {
-  /* Do nothing.  Using this version does not do any locking.  */
+  bool multithread = __libc_single_threaded == 0;
+  if (multithread)
+    {
+      stream->_flags2 |= _IO_FLAGS2_NEED_LOCK;
+      _IO_lock_lock (*stream->_lock);
+    }
 }
 weak_alias (__flockfile, flockfile);
 weak_alias (__flockfile, _IO_flockfile)
diff --git a/sysdeps/pthread/flockfile.c b/sysdeps/pthread/flockfile.c
deleted file mode 100644
index c67d6c8535..0000000000
--- a/sysdeps/pthread/flockfile.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <pthread.h>
-#include <stdio.h>
-#include <stdio-lock.h>
-
-
-void
-__flockfile (FILE *stream)
-{
-  stream->_flags2 |= _IO_FLAGS2_NEED_LOCK;
-  _IO_lock_lock (*stream->_lock);
-}
-strong_alias (__flockfile, _IO_flockfile)
-weak_alias (__flockfile, flockfile)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index b4f0fdd999..b5a21ad7cd 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.17 _IO_flockfile F
 GLIBC_2.17 _IO_ftrylockfile F
 GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
@@ -6,7 +5,6 @@ GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
 GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
-GLIBC_2.17 flockfile F
 GLIBC_2.17 ftrylockfile F
 GLIBC_2.17 funlockfile F
 GLIBC_2.17 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index c2017537e2..d88a55c5dc 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -1,8 +1,6 @@
-GLIBC_2.0 _IO_flockfile F
 GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 pthread_cancel F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index bc072be61f..ddda1cb0b8 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.32 _IO_flockfile F
 GLIBC_2.32 _IO_ftrylockfile F
 GLIBC_2.32 _IO_funlockfile F
 GLIBC_2.32 __errno_location F
@@ -6,7 +5,6 @@ GLIBC_2.32 __pthread_register_cancel F
 GLIBC_2.32 __pthread_register_cancel_defer F
 GLIBC_2.32 __pthread_unregister_cancel F
 GLIBC_2.32 __pthread_unregister_cancel_restore F
-GLIBC_2.32 flockfile F
 GLIBC_2.32 ftrylockfile F
 GLIBC_2.32 funlockfile F
 GLIBC_2.32 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 5b52c456fb..ae1defcddc 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
 GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 _IO_flockfile F
 GLIBC_2.4 _IO_ftrylockfile F
 GLIBC_2.4 _IO_funlockfile F
 GLIBC_2.4 __errno_location F
@@ -17,7 +16,6 @@ GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
-GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 5b52c456fb..ae1defcddc 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
 GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 _IO_flockfile F
 GLIBC_2.4 _IO_ftrylockfile F
 GLIBC_2.4 _IO_funlockfile F
 GLIBC_2.4 __errno_location F
@@ -17,7 +16,6 @@ GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
-GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index d55f09a9fe..760a569b51 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.29 _IO_flockfile F
 GLIBC_2.29 _IO_ftrylockfile F
 GLIBC_2.29 _IO_funlockfile F
 GLIBC_2.29 __errno_location F
@@ -6,7 +5,6 @@ GLIBC_2.29 __pthread_register_cancel F
 GLIBC_2.29 __pthread_register_cancel_defer F
 GLIBC_2.29 __pthread_unregister_cancel F
 GLIBC_2.29 __pthread_unregister_cancel_restore F
-GLIBC_2.29 flockfile F
 GLIBC_2.29 ftrylockfile F
 GLIBC_2.29 funlockfile F
 GLIBC_2.29 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 2c4a7041b6..4ff101d7f2 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 1cbc49b937..36d415aef5 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -1,8 +1,6 @@
-GLIBC_2.0 _IO_flockfile F
 GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 pthread_cancel F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 6b87a988d4..3c59353815 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 5b52c456fb..ae1defcddc 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -8,7 +8,6 @@ GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
 GLIBC_2.30 __libpthread_version_placeholder F
 GLIBC_2.31 pthread_clockjoin_np F
-GLIBC_2.4 _IO_flockfile F
 GLIBC_2.4 _IO_ftrylockfile F
 GLIBC_2.4 _IO_funlockfile F
 GLIBC_2.4 __errno_location F
@@ -17,7 +16,6 @@ GLIBC_2.4 __pthread_register_cancel F
 GLIBC_2.4 __pthread_register_cancel_defer F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
-GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 1cbc49b937..36d415aef5 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -1,8 +1,6 @@
-GLIBC_2.0 _IO_flockfile F
 GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 pthread_cancel F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index ee29730057..5c6c7b229c 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.18 _IO_flockfile F
 GLIBC_2.18 _IO_ftrylockfile F
 GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
@@ -6,7 +5,6 @@ GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
 GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
-GLIBC_2.18 flockfile F
 GLIBC_2.18 ftrylockfile F
 GLIBC_2.18 funlockfile F
 GLIBC_2.18 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index ee29730057..5c6c7b229c 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.18 _IO_flockfile F
 GLIBC_2.18 _IO_ftrylockfile F
 GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
@@ -6,7 +5,6 @@ GLIBC_2.18 __pthread_register_cancel F
 GLIBC_2.18 __pthread_register_cancel_defer F
 GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
-GLIBC_2.18 flockfile F
 GLIBC_2.18 ftrylockfile F
 GLIBC_2.18 funlockfile F
 GLIBC_2.18 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index e523996633..1d36022ee2 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -1,8 +1,6 @@
-GLIBC_2.0 _IO_flockfile F
 GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 pthread_cancel F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index e523996633..1d36022ee2 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -1,8 +1,6 @@
-GLIBC_2.0 _IO_flockfile F
 GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 pthread_cancel F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 059b21f854..5611822c38 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.21 _IO_flockfile F
 GLIBC_2.21 _IO_ftrylockfile F
 GLIBC_2.21 _IO_funlockfile F
 GLIBC_2.21 __errno_location F
@@ -6,7 +5,6 @@ GLIBC_2.21 __pthread_register_cancel F
 GLIBC_2.21 __pthread_register_cancel_defer F
 GLIBC_2.21 __pthread_unregister_cancel F
 GLIBC_2.21 __pthread_unregister_cancel_restore F
-GLIBC_2.21 flockfile F
 GLIBC_2.21 ftrylockfile F
 GLIBC_2.21 funlockfile F
 GLIBC_2.21 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 84312f522b..aa24808b1e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -1,8 +1,6 @@
-GLIBC_2.0 _IO_flockfile F
 GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 pthread_cancel F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 2d5583ebe8..5f5abdae73 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -6,11 +6,9 @@ GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.28 thrd_create F
 GLIBC_2.28 thrd_detach F
 GLIBC_2.28 thrd_join F
-GLIBC_2.3 _IO_flockfile F
 GLIBC_2.3 _IO_ftrylockfile F
 GLIBC_2.3 _IO_funlockfile F
 GLIBC_2.3 __errno_location F
-GLIBC_2.3 flockfile F
 GLIBC_2.3 ftrylockfile F
 GLIBC_2.3 funlockfile F
 GLIBC_2.3 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index b4f0fdd999..b5a21ad7cd 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.17 _IO_flockfile F
 GLIBC_2.17 _IO_ftrylockfile F
 GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
@@ -6,7 +5,6 @@ GLIBC_2.17 __pthread_register_cancel F
 GLIBC_2.17 __pthread_register_cancel_defer F
 GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
-GLIBC_2.17 flockfile F
 GLIBC_2.17 ftrylockfile F
 GLIBC_2.17 funlockfile F
 GLIBC_2.17 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index cc35881f1a..f0493d8973 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.33 _IO_flockfile F
 GLIBC_2.33 _IO_ftrylockfile F
 GLIBC_2.33 _IO_funlockfile F
 GLIBC_2.33 __errno_location F
@@ -6,7 +5,6 @@ GLIBC_2.33 __pthread_register_cancel F
 GLIBC_2.33 __pthread_register_cancel_defer F
 GLIBC_2.33 __pthread_unregister_cancel F
 GLIBC_2.33 __pthread_unregister_cancel_restore F
-GLIBC_2.33 flockfile F
 GLIBC_2.33 ftrylockfile F
 GLIBC_2.33 funlockfile F
 GLIBC_2.33 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 6946ced1b9..c0279888a0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.27 _IO_flockfile F
 GLIBC_2.27 _IO_ftrylockfile F
 GLIBC_2.27 _IO_funlockfile F
 GLIBC_2.27 __errno_location F
@@ -6,7 +5,6 @@ GLIBC_2.27 __pthread_register_cancel F
 GLIBC_2.27 __pthread_register_cancel_defer F
 GLIBC_2.27 __pthread_unregister_cancel F
 GLIBC_2.27 __pthread_unregister_cancel_restore F
-GLIBC_2.27 flockfile F
 GLIBC_2.27 ftrylockfile F
 GLIBC_2.27 funlockfile F
 GLIBC_2.27 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 0c6df4a437..286aedf9ca 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -1,8 +1,6 @@
-GLIBC_2.0 _IO_flockfile F
 GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 pthread_cancel F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index d287d8fe7a..35248d9303 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -4,11 +4,9 @@ GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.19 __libpthread_version_placeholder F
-GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 2c4a7041b6..4ff101d7f2 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 2c4a7041b6..4ff101d7f2 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index c2017537e2..d88a55c5dc 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -1,8 +1,6 @@
-GLIBC_2.0 _IO_flockfile F
 GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
-GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 pthread_cancel F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 6b87a988d4..3c59353815 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 _IO_flockfile F
 GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
-GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index cea092874a..732e55148d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2.5 _IO_flockfile F
 GLIBC_2.2.5 _IO_ftrylockfile F
 GLIBC_2.2.5 _IO_funlockfile F
 GLIBC_2.2.5 __errno_location F
-GLIBC_2.2.5 flockfile F
 GLIBC_2.2.5 ftrylockfile F
 GLIBC_2.2.5 funlockfile F
 GLIBC_2.2.5 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 394748f198..22262d9ceb 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.16 _IO_flockfile F
 GLIBC_2.16 _IO_ftrylockfile F
 GLIBC_2.16 _IO_funlockfile F
 GLIBC_2.16 __errno_location F
@@ -6,7 +5,6 @@ GLIBC_2.16 __pthread_register_cancel F
 GLIBC_2.16 __pthread_register_cancel_defer F
 GLIBC_2.16 __pthread_unregister_cancel F
 GLIBC_2.16 __pthread_unregister_cancel_restore F
-GLIBC_2.16 flockfile F
 GLIBC_2.16 ftrylockfile F
 GLIBC_2.16 funlockfile F
 GLIBC_2.16 pthread_attr_getaffinity_np F
