93dc2d
commit 948ebc098ed3cd928ea10997f990115e7770bda3
93dc2d
Author: Florian Weimer <fweimer@redhat.com>
93dc2d
Date:   Thu Jan 27 16:03:58 2022 +0100
93dc2d
93dc2d
    Fix glibc 2.34 ABI omission (missing GLIBC_2.34 in dynamic loader)
93dc2d
    
93dc2d
    The glibc 2.34 release really should have added a GLIBC_2.34
93dc2d
    symbol to the dynamic loader. With it, we could move functions such
93dc2d
    as dlopen or pthread_key_create that work on process-global state
93dc2d
    into the dynamic loader (once we have fixed a longstanding issue
93dc2d
    with static linking).  Without the GLIBC_2.34 symbol, yet another
93dc2d
    new symbol version would be needed because old glibc will fail to
93dc2d
    load binaries due to the missing symbol version in ld.so that newly
93dc2d
    linked programs will require.
93dc2d
    
93dc2d
    Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
93dc2d
    (cherry picked from commit af121ae3e7cd12628c91ecfc46a9d65313a6e972)
93dc2d
93dc2d
diff --git a/elf/Makefile b/elf/Makefile
93dc2d
index 11ff0aa8438de4e4..cd8725c76f4cfb48 100644
93dc2d
--- a/elf/Makefile
93dc2d
+++ b/elf/Makefile
93dc2d
@@ -117,6 +117,7 @@ elide-routines.os = \
93dc2d
 # interpreter and operating independent of libc.
93dc2d
 rtld-routines = \
93dc2d
   $(all-dl-routines) \
93dc2d
+  dl-compat \
93dc2d
   dl-conflict \
93dc2d
   dl-diagnostics \
93dc2d
   dl-diagnostics-cpu \
93dc2d
diff --git a/elf/Versions b/elf/Versions
93dc2d
index 775aab62af500f6c..2af210b8f771c950 100644
93dc2d
--- a/elf/Versions
93dc2d
+++ b/elf/Versions
93dc2d
@@ -48,6 +48,9 @@ ld {
93dc2d
     # stack canary
93dc2d
     __stack_chk_guard;
93dc2d
   }
93dc2d
+  GLIBC_2.34 {
93dc2d
+    __rtld_version_placeholder;
93dc2d
+  }
93dc2d
   GLIBC_PRIVATE {
93dc2d
     # Those are in the dynamic linker, but used by libc.so.
93dc2d
     __libc_enable_secure;
93dc2d
diff --git a/elf/dl-compat.c b/elf/dl-compat.c
93dc2d
new file mode 100644
93dc2d
index 0000000000000000..cc560c515930f59a
93dc2d
--- /dev/null
93dc2d
+++ b/elf/dl-compat.c
93dc2d
@@ -0,0 +1,32 @@
93dc2d
+/* Placeholder compatibility symbols.
93dc2d
+   Copyright (C) 2022 Free Software Foundation, Inc.
93dc2d
+   This file is part of the GNU C Library.
93dc2d
+
93dc2d
+   The GNU C Library is free software; you can redistribute it and/or
93dc2d
+   modify it under the terms of the GNU Lesser General Public
93dc2d
+   License as published by the Free Software Foundation; either
93dc2d
+   version 2.1 of the License, or (at your option) any later version.
93dc2d
+
93dc2d
+   The GNU C Library is distributed in the hope that it will be useful,
93dc2d
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
93dc2d
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
93dc2d
+   Lesser General Public License for more details.
93dc2d
+
93dc2d
+   You should have received a copy of the GNU Lesser General Public
93dc2d
+   License along with the GNU C Library; if not, see
93dc2d
+   <https://www.gnu.org/licenses/>.  */
93dc2d
+
93dc2d
+#include <shlib-compat.h>
93dc2d
+#include <sys/cdefs.h>
93dc2d
+
93dc2d
+/* GLIBC_2.34 placeholder for future symbol moves.  */
93dc2d
+
93dc2d
+void
93dc2d
+attribute_compat_text_section
93dc2d
+__attribute_used__
93dc2d
+__rtld_version_placeholder_1 (void)
93dc2d
+{
93dc2d
+}
93dc2d
+
93dc2d
+compat_symbol (ld, __rtld_version_placeholder_1,
93dc2d
+               __rtld_version_placeholder, GLIBC_2_34);
93dc2d
diff --git a/sysdeps/mach/hurd/i386/ld.abilist b/sysdeps/mach/hurd/i386/ld.abilist
93dc2d
index 7e20c5e7ce8a7a5e..ebba31f7706d854d 100644
93dc2d
--- a/sysdeps/mach/hurd/i386/ld.abilist
93dc2d
+++ b/sysdeps/mach/hurd/i386/ld.abilist
93dc2d
@@ -16,3 +16,4 @@ GLIBC_2.2.6 _r_debug D 0x14
93dc2d
 GLIBC_2.2.6 abort F
93dc2d
 GLIBC_2.3 ___tls_get_addr F
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/aarch64/ld.abilist b/sysdeps/unix/sysv/linux/aarch64/ld.abilist
93dc2d
index 80b2fe672541c6e9..b7196a80e2df8efc 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/aarch64/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/aarch64/ld.abilist
93dc2d
@@ -3,3 +3,4 @@ GLIBC_2.17 __stack_chk_guard D 0x8
93dc2d
 GLIBC_2.17 __tls_get_addr F
93dc2d
 GLIBC_2.17 _dl_mcount F
93dc2d
 GLIBC_2.17 _r_debug D 0x28
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/alpha/ld.abilist b/sysdeps/unix/sysv/linux/alpha/ld.abilist
93dc2d
index 98a03f611f98f3a4..13f7fc74af62941d 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/alpha/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/alpha/ld.abilist
93dc2d
@@ -2,4 +2,5 @@ GLIBC_2.0 _r_debug D 0x28
93dc2d
 GLIBC_2.1 __libc_stack_end D 0x8
93dc2d
 GLIBC_2.1 _dl_mcount F
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
 GLIBC_2.4 __stack_chk_guard D 0x8
93dc2d
diff --git a/sysdeps/unix/sysv/linux/arc/ld.abilist b/sysdeps/unix/sysv/linux/arc/ld.abilist
93dc2d
index 048f17c8486f3d54..7284383a6bea8e64 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/arc/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/arc/ld.abilist
93dc2d
@@ -3,3 +3,4 @@ GLIBC_2.32 __stack_chk_guard D 0x4
93dc2d
 GLIBC_2.32 __tls_get_addr F
93dc2d
 GLIBC_2.32 _dl_mcount F
93dc2d
 GLIBC_2.32 _r_debug D 0x14
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/arm/be/ld.abilist b/sysdeps/unix/sysv/linux/arm/be/ld.abilist
93dc2d
index cc8825c3bc68ad4a..7987bbae1112aa3d 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/arm/be/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/arm/be/ld.abilist
93dc2d
@@ -1,3 +1,4 @@
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
 GLIBC_2.4 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.4 __stack_chk_guard D 0x4
93dc2d
 GLIBC_2.4 __tls_get_addr F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/arm/le/ld.abilist b/sysdeps/unix/sysv/linux/arm/le/ld.abilist
93dc2d
index cc8825c3bc68ad4a..7987bbae1112aa3d 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/arm/le/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/arm/le/ld.abilist
93dc2d
@@ -1,3 +1,4 @@
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
 GLIBC_2.4 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.4 __stack_chk_guard D 0x4
93dc2d
 GLIBC_2.4 __tls_get_addr F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/csky/ld.abilist b/sysdeps/unix/sysv/linux/csky/ld.abilist
93dc2d
index 564ac09737d6d8d5..4939b20631dc6c54 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/csky/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/csky/ld.abilist
93dc2d
@@ -3,3 +3,4 @@ GLIBC_2.29 __stack_chk_guard D 0x4
93dc2d
 GLIBC_2.29 __tls_get_addr F
93dc2d
 GLIBC_2.29 _dl_mcount F
93dc2d
 GLIBC_2.29 _r_debug D 0x14
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/hppa/ld.abilist b/sysdeps/unix/sysv/linux/hppa/ld.abilist
93dc2d
index d155a59843df9091..7cc9ebd792c2aadc 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/hppa/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/hppa/ld.abilist
93dc2d
@@ -2,4 +2,5 @@ GLIBC_2.2 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.2 _dl_mcount F
93dc2d
 GLIBC_2.2 _r_debug D 0x14
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
 GLIBC_2.4 __stack_chk_guard D 0x4
93dc2d
diff --git a/sysdeps/unix/sysv/linux/i386/ld.abilist b/sysdeps/unix/sysv/linux/i386/ld.abilist
93dc2d
index 0478e220712a55e6..e8d187b14d722a64 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/i386/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/i386/ld.abilist
93dc2d
@@ -3,3 +3,4 @@ GLIBC_2.1 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.1 _dl_mcount F
93dc2d
 GLIBC_2.3 ___tls_get_addr F
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/ia64/ld.abilist b/sysdeps/unix/sysv/linux/ia64/ld.abilist
93dc2d
index 33f91199bfa516fb..be5122650ae2b327 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/ia64/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/ia64/ld.abilist
93dc2d
@@ -2,3 +2,4 @@ GLIBC_2.2 __libc_stack_end D 0x8
93dc2d
 GLIBC_2.2 _dl_mcount F
93dc2d
 GLIBC_2.2 _r_debug D 0x28
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist
93dc2d
index cc8825c3bc68ad4a..7987bbae1112aa3d 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/ld.abilist
93dc2d
@@ -1,3 +1,4 @@
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
 GLIBC_2.4 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.4 __stack_chk_guard D 0x4
93dc2d
 GLIBC_2.4 __tls_get_addr F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist
93dc2d
index 3ba474c27f62fb10..4f2854edf7746958 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/ld.abilist
93dc2d
@@ -2,4 +2,5 @@ GLIBC_2.0 _r_debug D 0x14
93dc2d
 GLIBC_2.1 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.1 _dl_mcount F
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
 GLIBC_2.4 __stack_chk_guard D 0x4
93dc2d
diff --git a/sysdeps/unix/sysv/linux/microblaze/ld.abilist b/sysdeps/unix/sysv/linux/microblaze/ld.abilist
93dc2d
index a4933c3541119538..9f0fdeca38890a34 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/microblaze/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/microblaze/ld.abilist
93dc2d
@@ -3,3 +3,4 @@ GLIBC_2.18 __stack_chk_guard D 0x4
93dc2d
 GLIBC_2.18 __tls_get_addr F
93dc2d
 GLIBC_2.18 _dl_mcount F
93dc2d
 GLIBC_2.18 _r_debug D 0x14
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/ld.abilist b/sysdeps/unix/sysv/linux/mips/mips32/ld.abilist
93dc2d
index be09641a48962434..f750067d5c34bf42 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/mips/mips32/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/mips/mips32/ld.abilist
93dc2d
@@ -2,4 +2,5 @@ GLIBC_2.0 _r_debug D 0x14
93dc2d
 GLIBC_2.2 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.2 _dl_mcount F
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
 GLIBC_2.4 __stack_chk_guard D 0x4
93dc2d
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist
93dc2d
index be09641a48962434..f750067d5c34bf42 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/ld.abilist
93dc2d
@@ -2,4 +2,5 @@ GLIBC_2.0 _r_debug D 0x14
93dc2d
 GLIBC_2.2 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.2 _dl_mcount F
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
 GLIBC_2.4 __stack_chk_guard D 0x4
93dc2d
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist
93dc2d
index 1ea36e13f294a249..2fba6a9b6ec92e47 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/ld.abilist
93dc2d
@@ -2,4 +2,5 @@ GLIBC_2.0 _r_debug D 0x28
93dc2d
 GLIBC_2.2 __libc_stack_end D 0x8
93dc2d
 GLIBC_2.2 _dl_mcount F
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
 GLIBC_2.4 __stack_chk_guard D 0x8
93dc2d
diff --git a/sysdeps/unix/sysv/linux/nios2/ld.abilist b/sysdeps/unix/sysv/linux/nios2/ld.abilist
93dc2d
index 52178802dd82b59a..57dfad5a53b739e8 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/nios2/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/nios2/ld.abilist
93dc2d
@@ -3,3 +3,4 @@ GLIBC_2.21 __stack_chk_guard D 0x4
93dc2d
 GLIBC_2.21 __tls_get_addr F
93dc2d
 GLIBC_2.21 _dl_mcount F
93dc2d
 GLIBC_2.21 _r_debug D 0x14
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist
93dc2d
index 4bbfba7a61c7a5ef..e89660739262c6ab 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/ld.abilist
93dc2d
@@ -4,3 +4,4 @@ GLIBC_2.1 _dl_mcount F
93dc2d
 GLIBC_2.22 __tls_get_addr_opt F
93dc2d
 GLIBC_2.23 __parse_hwcap_and_convert_at_platform F
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/ld.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/ld.abilist
93dc2d
index 283fb4510bea40ba..ce0bc639597c4bd9 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/ld.abilist
93dc2d
@@ -4,3 +4,4 @@ GLIBC_2.3 __libc_stack_end D 0x8
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
 GLIBC_2.3 _dl_mcount F
93dc2d
 GLIBC_2.3 _r_debug D 0x28
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ld.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ld.abilist
93dc2d
index b1f313c7cd33defc..65b22674d2462e96 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ld.abilist
93dc2d
@@ -4,3 +4,4 @@ GLIBC_2.17 _dl_mcount F
93dc2d
 GLIBC_2.17 _r_debug D 0x28
93dc2d
 GLIBC_2.22 __tls_get_addr_opt F
93dc2d
 GLIBC_2.23 __parse_hwcap_and_convert_at_platform F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/ld.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/ld.abilist
93dc2d
index 94ca64c43db63b2a..5ad4c81d12d7a612 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/riscv/rv32/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/ld.abilist
93dc2d
@@ -3,3 +3,4 @@ GLIBC_2.33 __stack_chk_guard D 0x4
93dc2d
 GLIBC_2.33 __tls_get_addr F
93dc2d
 GLIBC_2.33 _dl_mcount F
93dc2d
 GLIBC_2.33 _r_debug D 0x14
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist
93dc2d
index 845f356c3c3fad54..479efdea9bb654bb 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/ld.abilist
93dc2d
@@ -3,3 +3,4 @@ GLIBC_2.27 __stack_chk_guard D 0x8
93dc2d
 GLIBC_2.27 __tls_get_addr F
93dc2d
 GLIBC_2.27 _dl_mcount F
93dc2d
 GLIBC_2.27 _r_debug D 0x28
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist
93dc2d
index b56f005bebd3baf1..d5ecb636bb792bdf 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/ld.abilist
93dc2d
@@ -2,3 +2,4 @@ GLIBC_2.0 _r_debug D 0x14
93dc2d
 GLIBC_2.1 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.1 _dl_mcount F
93dc2d
 GLIBC_2.3 __tls_get_offset F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist
93dc2d
index 6f788a086d68aaa5..62a5e1d99a2e6f42 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/ld.abilist
93dc2d
@@ -2,3 +2,4 @@ GLIBC_2.2 __libc_stack_end D 0x8
93dc2d
 GLIBC_2.2 _dl_mcount F
93dc2d
 GLIBC_2.2 _r_debug D 0x28
93dc2d
 GLIBC_2.3 __tls_get_offset F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/sh/be/ld.abilist b/sysdeps/unix/sysv/linux/sh/be/ld.abilist
93dc2d
index d155a59843df9091..7cc9ebd792c2aadc 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/sh/be/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/sh/be/ld.abilist
93dc2d
@@ -2,4 +2,5 @@ GLIBC_2.2 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.2 _dl_mcount F
93dc2d
 GLIBC_2.2 _r_debug D 0x14
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
 GLIBC_2.4 __stack_chk_guard D 0x4
93dc2d
diff --git a/sysdeps/unix/sysv/linux/sh/le/ld.abilist b/sysdeps/unix/sysv/linux/sh/le/ld.abilist
93dc2d
index d155a59843df9091..7cc9ebd792c2aadc 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/sh/le/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/sh/le/ld.abilist
93dc2d
@@ -2,4 +2,5 @@ GLIBC_2.2 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.2 _dl_mcount F
93dc2d
 GLIBC_2.2 _r_debug D 0x14
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
 GLIBC_2.4 __stack_chk_guard D 0x4
93dc2d
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist
93dc2d
index 0c6610e3c2f00cf3..2e6054349871e7d5 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/ld.abilist
93dc2d
@@ -2,3 +2,4 @@ GLIBC_2.0 _r_debug D 0x14
93dc2d
 GLIBC_2.1 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.1 _dl_mcount F
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist
93dc2d
index 33f91199bfa516fb..be5122650ae2b327 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist
93dc2d
@@ -2,3 +2,4 @@ GLIBC_2.2 __libc_stack_end D 0x8
93dc2d
 GLIBC_2.2 _dl_mcount F
93dc2d
 GLIBC_2.2 _r_debug D 0x28
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/ld.abilist b/sysdeps/unix/sysv/linux/x86_64/64/ld.abilist
93dc2d
index d3cdf7611eb9cab3..afddaec57c11f837 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/x86_64/64/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/x86_64/64/ld.abilist
93dc2d
@@ -2,3 +2,4 @@ GLIBC_2.2.5 __libc_stack_end D 0x8
93dc2d
 GLIBC_2.2.5 _dl_mcount F
93dc2d
 GLIBC_2.2.5 _r_debug D 0x28
93dc2d
 GLIBC_2.3 __tls_get_addr F
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F
93dc2d
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist
93dc2d
index c70bccf78245a552..defc488d137c61c3 100644
93dc2d
--- a/sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist
93dc2d
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist
93dc2d
@@ -2,3 +2,4 @@ GLIBC_2.16 __libc_stack_end D 0x4
93dc2d
 GLIBC_2.16 __tls_get_addr F
93dc2d
 GLIBC_2.16 _dl_mcount F
93dc2d
 GLIBC_2.16 _r_debug D 0x14
93dc2d
+GLIBC_2.34 __rtld_version_placeholder F