about summary refs log tree commit diff
path: root/nptl/libpthread-compat.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-05-17 09:59:14 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-05-17 10:25:11 +0200
commit310e59e64cbc95bff299825b2b7f38b88f82ba4e (patch)
treeab18cc279a1e63dcdc1b79a15e43ce8a2b775c3a /nptl/libpthread-compat.c
parente948be4db3ed254b6ba55d5250021f649a9a1c41 (diff)
downloadglibc-310e59e64cbc95bff299825b2b7f38b88f82ba4e.tar.gz
glibc-310e59e64cbc95bff299825b2b7f38b88f82ba4e.tar.xz
glibc-310e59e64cbc95bff299825b2b7f38b88f82ba4e.zip
nptl: Move pthread_getcpuclockid into libc
The symbol was moved using scripts/move-symbol-to-libc.py.

__libpthread_version_placeholder@@GLIBC_2.2 is needed by this change;
the Versions entry for GLIBC_2.2 in libpthread had leftover symbols
due to an error in a previous conflict resolution.  The condition
for the placeholder symbol is complicated because some architectures
have earlier symbols at the GLIBC_2.2 symbol versions, so the
placeholder is not required there (yet).

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
Diffstat (limited to 'nptl/libpthread-compat.c')
-rw-r--r--nptl/libpthread-compat.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/nptl/libpthread-compat.c b/nptl/libpthread-compat.c
index c828fd8f9e..18069870d1 100644
--- a/nptl/libpthread-compat.c
+++ b/nptl/libpthread-compat.c
@@ -45,6 +45,16 @@ compat_symbol (libpthread, __libpthread_version_placeholder_1,
 	       __libpthread_version_placeholder, GLIBC_2_1_2);
 #endif
 
+/* Do not create the placeholder symbol version if there are other
+   symbols left that keep the version around (because GLIBC_2.0 got
+   promoted to GLIBC_2.2).  */
+#if SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_2_3) \
+  && ABI_libpthread_GLIBC_2_2 != ABI_libpthread_GLIBC_2_0 \
+  && ABI_libpthread_GLIBC_2_2 != ABI_libpthread_GLIBC_2_1_3
+compat_symbol (libpthread, __libpthread_version_placeholder_1,
+	       __libpthread_version_placeholder, GLIBC_2_2);
+#endif
+
 #if (SHLIB_COMPAT (libpthread, GLIBC_2_2_3, GLIBC_2_2_4))
 compat_symbol (libpthread, __libpthread_version_placeholder_1,
 	       __libpthread_version_placeholder, GLIBC_2_2_3);