aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/Makefile1
-rw-r--r--elf/Versions3
-rw-r--r--elf/dl-compat.c35
3 files changed, 39 insertions, 0 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 775c755..718e826 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -126,6 +126,7 @@ shared-only-routines = libc-dl_find_object
rtld-routines = \
$(all-dl-routines) \
dl-audit \
+ dl-compat \
dl-conflict \
dl-diagnostics \
dl-diagnostics-cpu \
diff --git a/elf/Versions b/elf/Versions
index a4f1e76..8bed855 100644
--- a/elf/Versions
+++ b/elf/Versions
@@ -51,6 +51,9 @@ ld {
# stack canary
__stack_chk_guard;
}
+ GLIBC_2.34 {
+ __rtld_version_placeholder;
+ }
GLIBC_PRIVATE {
# Those are in the dynamic linker, but used by libc.so.
__libc_enable_secure;
diff --git a/elf/dl-compat.c b/elf/dl-compat.c
new file mode 100644
index 0000000..05c986a
--- /dev/null
+++ b/elf/dl-compat.c
@@ -0,0 +1,35 @@
+/* Placeholder compatibility symbols.
+ Copyright (C) 2022 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ 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 <shlib-compat.h>
+#include <sys/cdefs.h>
+
+/* The GLIBC_2.35 symbol version is present naturally for later ports.
+ Use OTHER_SHLIB_COMPAT because the module is called rtld, but the
+ ABI version uses ld. */
+#if OTHER_SHLIB_COMPAT (ld, GLIBC_2_0, GLIBC_2_35)
+void
+attribute_compat_text_section
+__attribute_used__
+__rtld_version_placeholder_1 (void)
+{
+}
+
+compat_symbol (ld, __rtld_version_placeholder_1,
+ __rtld_version_placeholder, GLIBC_2_34);
+#endif