]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Linux: Add the pthread_gettid_np function (bug 27880)
authorFlorian Weimer <fweimer@redhat.com>
Wed, 12 Mar 2025 09:16:31 +0000 (10:16 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Wed, 12 Mar 2025 09:23:35 +0000 (10:23 +0100)
Current Bionic has this function, with enhanced error checking
(the undefined case terminates the process).

Reviewed-by: Joseph Myers <josmyers@redhat.com>
39 files changed:
NEWS
manual/process.texi
nptl/Makefile
nptl/Versions
nptl/pthread_gettid_np.c [new file with mode: 0644]
nptl/tst-pthread_gettid_np.c [new file with mode: 0644]
sysdeps/nptl/pthread.h
sysdeps/unix/sysv/linux/aarch64/libc.abilist
sysdeps/unix/sysv/linux/alpha/libc.abilist
sysdeps/unix/sysv/linux/arc/libc.abilist
sysdeps/unix/sysv/linux/arm/be/libc.abilist
sysdeps/unix/sysv/linux/arm/le/libc.abilist
sysdeps/unix/sysv/linux/csky/libc.abilist
sysdeps/unix/sysv/linux/hppa/libc.abilist
sysdeps/unix/sysv/linux/i386/libc.abilist
sysdeps/unix/sysv/linux/loongarch/lp64/libc.abilist
sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
sysdeps/unix/sysv/linux/or1k/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
sysdeps/unix/sysv/linux/sh/be/libc.abilist
sysdeps/unix/sysv/linux/sh/le/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

diff --git a/NEWS b/NEWS
index 29d3d47b6454c37907313436bd0f7e26ee6fce9e..0427eb3269aaa6750f61585627d7c81f6930cfd8 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,8 @@ Major new features:
 
   - Power and absolute-value functions: rsqrt.
 
+* On Linux, the pthread_gettid_np function has been added.
+
 Deprecated and removed features, and other changes affecting compatibility:
 
   [Add deprecations, removals and changes affecting compatibility here]
index 8254e5ee864e2515190437d48d21c440aca91bfa..a8f37e55a3b5b7cd0506971d20e1e9dd5296afe5 100644 (file)
@@ -239,6 +239,24 @@ especially regarding reuse of the IDs of threads which have exited.
 This function is specific to Linux.
 @end deftypefun
 
+@deftypefun pid_t pthread_gettid_np (pthread_t @var{thread})
+@standards{Linux, pthread.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+This function returns the same value that @code{gettid} would return if
+executed on the running thread @var{thread}.
+
+If @var{thread} is no longer running but it is joinable, it is
+unspecified whether this function returns @minus{}1, or if it returns
+the thread ID of the thread while it was running.  If @var{thread} is
+not running and is not joinable, the behavior is undefined.
+
+@strong{Portability Note:} Linux thread IDs can be reused rather quickly,
+so this function differs from the @code{pthread_getunique_np} function
+found on other systems.
+
+This function is specific to Linux.
+@end deftypefun
+
 @node Creating a Process
 @section Creating a Process
 
index f70d1e55bd55b96d1527d71cf6edaef9a458654a..eca00936d7691564709fa67302a79d252070baf6 100644 (file)
@@ -124,6 +124,7 @@ routines = \
   pthread_getname \
   pthread_getschedparam \
   pthread_getspecific \
+  pthread_gettid_np \
   pthread_join \
   pthread_join_common \
   pthread_key_create \
@@ -326,6 +327,7 @@ tests = \
   tst-pthread-timedlock-lockloop \
   tst-pthread_exit-nothreads \
   tst-pthread_exit-nothreads-static \
+  tst-pthread_gettid_np \
   tst-robust-fork \
   tst-robustpi1 \
   tst-robustpi2 \
index 3221de89d134e0d3d4086cc3f21078377bd8bdac..ef55376dd9dd4f6a2979fc6efa3e395cc63b2459 100644 (file)
@@ -378,6 +378,9 @@ libc {
     tss_get;
     tss_set;
   }
+  GLIBC_2.42 {
+    pthread_gettid_np;
+  }
   GLIBC_PRIVATE {
     __libc_alloca_cutoff;
     __lll_lock_wake_private;
diff --git a/nptl/pthread_gettid_np.c b/nptl/pthread_gettid_np.c
new file mode 100644 (file)
index 0000000..bf3a12c
--- /dev/null
@@ -0,0 +1,30 @@
+/* Get the Linux TID from a pthread_t handle.
+   Copyright (C) 2025 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; see the file COPYING.LIB.  If
+   not, see <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <pthreadP.h>
+
+pid_t
+pthread_gettid_np (pthread_t threadid)
+{
+  /* The kernel may concurrently set this field.  */
+  pid_t tid = atomic_load_relaxed (&((struct pthread *) threadid)->tid);
+  if (tid <= 0)
+    return -1;
+  return tid;
+}
diff --git a/nptl/tst-pthread_gettid_np.c b/nptl/tst-pthread_gettid_np.c
new file mode 100644 (file)
index 0000000..6a98d86
--- /dev/null
@@ -0,0 +1,79 @@
+/* Test for pthread_gettid_np.
+   Copyright (C) 2025 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; see the file COPYING.LIB.  If
+   not, see <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <pthread.h>
+#include <sched.h>
+#include <signal.h>
+#include <support/check.h>
+#include <support/xthread.h>
+#include <unistd.h>
+
+static pthread_barrier_t barrier;
+
+static pid_t thread_tid;
+
+static void *
+thread_func (void *ignored)
+{
+  thread_tid = gettid ();
+  TEST_VERIFY (thread_tid != getpid ());
+  TEST_COMPARE (thread_tid, pthread_gettid_np (pthread_self ()));
+  xpthread_barrier_wait (&barrier);
+  /* The main thread calls pthread_gettid_np here.  */
+  xpthread_barrier_wait (&barrier);
+  return NULL;
+}
+
+static int
+do_test (void)
+{
+  TEST_COMPARE (pthread_gettid_np (pthread_self ()), getpid ());
+  TEST_COMPARE (pthread_gettid_np (pthread_self ()), gettid ());
+
+  xpthread_barrier_init (&barrier, NULL, 2);
+
+  pthread_t thr = xpthread_create (NULL, thread_func, NULL);
+  xpthread_barrier_wait (&barrier);
+  TEST_COMPARE (thread_tid, pthread_gettid_np (thr));
+  xpthread_barrier_wait (&barrier);
+
+  while (true)
+    {
+      /* Check if the kernel thread is still running.  */
+      if (tgkill (getpid (), thread_tid, 0))
+        {
+          TEST_COMPARE (errno, ESRCH);
+          break;
+        }
+
+      pid_t tid = pthread_gettid_np (thr);
+      if (tid != thread_tid)
+        {
+          TEST_COMPARE (tid, -1);
+          break;
+        }
+      TEST_COMPARE (sched_yield (), 0);
+    }
+
+  TEST_VERIFY (xpthread_join (thr) == NULL);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
index 050b4ab8d1d02384bb3bb103df15178b146987c5..b4d10a37c6d0eb456f2a17acbb05865f2da3a29b 100644 (file)
@@ -1317,6 +1317,11 @@ extern int pthread_getcpuclockid (pthread_t __thread_id,
      __THROW __nonnull ((2));
 #endif
 
+#ifdef __USE_GNU
+/* Return the Linux TID for THREAD_ID.  Returns -1 on failure.  */
+extern pid_t pthread_gettid_np (pthread_t __thread_id);
+#endif
+
 
 /* Install handlers to be called when a new process is created with FORK.
    The PREPARE handler is called in the parent process just before performing
index 38db77e4f7808c2070e0053b5c5bdabe2cd7a3ff..0889725c79fa694c418df3b4f1bc7550e685aaf5 100644 (file)
@@ -2750,3 +2750,4 @@ GLIBC_2.39 stdc_trailing_zeros_ull F
 GLIBC_2.39 stdc_trailing_zeros_us F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
index 637bfce9fbf4c3e18c5a925c48096d6aa2112720..b33a52db7091447c175656c73f95217364347a20 100644 (file)
@@ -3097,6 +3097,7 @@ GLIBC_2.4 wprintf F
 GLIBC_2.4 wscanf F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 4a305cf7303f18113e94e2c8e5a77710227302a5..0c78cb6d9da5507cf1cf83e8472c1d2d7729dbf0 100644 (file)
@@ -2511,3 +2511,4 @@ GLIBC_2.39 stdc_trailing_zeros_ull F
 GLIBC_2.39 stdc_trailing_zeros_us F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
index 1d54f71b146d00a004926af01e12158a5b8e728b..a4571bfcb332e4ed6892b479dcdc4a12c1b0395e 100644 (file)
@@ -2803,6 +2803,7 @@ GLIBC_2.4 xprt_register F
 GLIBC_2.4 xprt_unregister F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index ff7e8bc40beb21de35f1706f0452b0cd329896a5..060ab800006c1d53b77c97974cb616a502426c8e 100644 (file)
@@ -2800,6 +2800,7 @@ GLIBC_2.4 xprt_register F
 GLIBC_2.4 xprt_unregister F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index c3ed65467d14e729d693a503be84e6aba6cb9e3e..5c4f912dd8465b09a54c2dec6290e6d4f9b840b1 100644 (file)
@@ -2787,3 +2787,4 @@ GLIBC_2.39 stdc_trailing_zeros_ull F
 GLIBC_2.39 stdc_trailing_zeros_us F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
index 991475380ca51a11821247f0bacde69cf5acd4bb..f837bf9dd17b9146a1ca887d1b2e77cdf6aab05b 100644 (file)
@@ -2824,6 +2824,7 @@ GLIBC_2.4 unshare F
 GLIBC_2.41 cacheflush F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 4fedf775d485f1a74d50d76c0fa83c32ab7ff6f4..9ea9e656c1cdf5b35991b4c221074c2700fab6cd 100644 (file)
@@ -3007,6 +3007,7 @@ GLIBC_2.4 unlinkat F
 GLIBC_2.4 unshare F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 0024282289ffbee67ae570d5ef6d7ca55a2ca1ca..243422f515ce24b3a072598a418b651b6dbad58a 100644 (file)
@@ -2271,3 +2271,4 @@ GLIBC_2.39 stdc_trailing_zeros_ull F
 GLIBC_2.39 stdc_trailing_zeros_us F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
index 142595eb3ed52656a159f38428972a57fe23ab75..88397ad1308a14c6d110d6b2f97b194633d9b252 100644 (file)
@@ -2783,6 +2783,7 @@ GLIBC_2.4 xprt_register F
 GLIBC_2.4 xprt_unregister F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 85e7746c10a125b398c62e1e6136581418e909a4..81d63333456f8653005947692e9e2471b917d29f 100644 (file)
@@ -2950,6 +2950,7 @@ GLIBC_2.4 unlinkat F
 GLIBC_2.4 unshare F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 91dc1b83785655a57ed05e74829a116de278c2b5..9522c31329fb75a0a5af91bbf57b6f9a96e33900 100644 (file)
@@ -2836,3 +2836,4 @@ GLIBC_2.39 stdc_trailing_zeros_ull F
 GLIBC_2.39 stdc_trailing_zeros_us F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
index 3440e90f6fda9abbe969df7bbc7b1c04fd6c8acd..9e760428fbb0d82287c5f432d177e4fa3be35754 100644 (file)
@@ -2833,3 +2833,4 @@ GLIBC_2.39 stdc_trailing_zeros_ull F
 GLIBC_2.39 stdc_trailing_zeros_us F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
index 5ee7b8c52fac1c935793fb37a46f3f6f0305e71f..8a2df86bed4b0c61d042348f5959880026c60b2c 100644 (file)
@@ -2911,6 +2911,7 @@ GLIBC_2.4 unlinkat F
 GLIBC_2.4 unshare F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 6cb6328e7cabc321240ec3c21dc69b218021329a..491a9a8e15e838ce1142ece0be968653abfb45f4 100644 (file)
@@ -2909,6 +2909,7 @@ GLIBC_2.4 unlinkat F
 GLIBC_2.4 unshare F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index ae7474c0f03e880b6e7faad3fa47a5efb3311ff1..ee36f595a75986c960cca7368215adfa8692f8ae 100644 (file)
@@ -2917,6 +2917,7 @@ GLIBC_2.4 unlinkat F
 GLIBC_2.4 unshare F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index cdf040dec27b87736c025bc3388bc05e8a02189e..083709eb8a9862aadaa64a5cee71f9e512207eca 100644 (file)
@@ -2819,6 +2819,7 @@ GLIBC_2.4 unlinkat F
 GLIBC_2.4 unshare F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index c356a11b1ceafbc69a5f972ee01f75ac544d1861..dc2d61e45a9f9054975be767c9d5ff1bd2fcc90b 100644 (file)
@@ -2261,3 +2261,4 @@ GLIBC_2.40 setcontext F
 GLIBC_2.40 swapcontext F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
index 7937f94cf092f6143f4cdb181641ac934ec7f25a..56dfb111605db75325a42b33739ff1bc7939522f 100644 (file)
@@ -3140,6 +3140,7 @@ GLIBC_2.4 wprintf F
 GLIBC_2.4 wscanf F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index d6e35f31d248749053a7e845279c80407bec6b0e..4951295fd2f1fad65f3b35f65adf277d0a5b86a0 100644 (file)
@@ -3185,6 +3185,7 @@ GLIBC_2.4 wprintf F
 GLIBC_2.4 wscanf F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 2268d6890d73a5cce9949d46f7fee58bcf6df05c..d161a0e2691f18d729ca5d4cd03362503a2f98da 100644 (file)
@@ -2894,6 +2894,7 @@ GLIBC_2.4 wprintf F
 GLIBC_2.4 wscanf F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 7f61b14bc8df2a165a3ff14fa34d1d7c095de9a4..b2354c9cbe2b62df96216382f8426bf687323528 100644 (file)
@@ -2970,3 +2970,4 @@ GLIBC_2.39 stdc_trailing_zeros_ull F
 GLIBC_2.39 stdc_trailing_zeros_us F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
index 4187241f5030d411d225a5cfce94db53b98ff01c..931c7332d14fa4b35b26ff37f5b61481319168a5 100644 (file)
@@ -2514,3 +2514,4 @@ GLIBC_2.39 stdc_trailing_zeros_us F
 GLIBC_2.40 __riscv_hwprobe F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
index 8935beccac1a2c693e664f634aa27cd671dc852b..187d1849e95e7e76509808cd423ebccb9a629ab9 100644 (file)
@@ -2714,3 +2714,4 @@ GLIBC_2.39 stdc_trailing_zeros_us F
 GLIBC_2.40 __riscv_hwprobe F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
index e69dc7ccf6952f895e04aedd80f19f5af28e14e6..b05ab0b4f573e6cfa39a95f2be61089c169f3b4b 100644 (file)
@@ -3138,6 +3138,7 @@ GLIBC_2.4 wprintf F
 GLIBC_2.4 wscanf F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 7d860001d8a57160e8fe33ada27abb8875bea8c2..ed29d3ee12a1112dac3575532e5e93baaa39dd06 100644 (file)
@@ -2931,6 +2931,7 @@ GLIBC_2.4 wprintf F
 GLIBC_2.4 wscanf F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index fcb8161841078f2bc6dcef904dd85a2d4b8a4a40..1f084b0046d66f8888cee24665cf1f832e024b26 100644 (file)
@@ -2830,6 +2830,7 @@ GLIBC_2.4 unlinkat F
 GLIBC_2.4 unshare F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 3fd078d1257bf8d93b990cf2c10bfe4091ac8d56..13c45bc57098ba6117cb7114da513ac85ea16fc6 100644 (file)
@@ -2827,6 +2827,7 @@ GLIBC_2.4 unlinkat F
 GLIBC_2.4 unshare F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 1ce1fe9da7180b4fa65ceab1983b66e7876e70d9..ba9310be7a2b61e9c78699cedfbe497543a69e46 100644 (file)
@@ -3159,6 +3159,7 @@ GLIBC_2.4 wprintf F
 GLIBC_2.4 wscanf F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 07507b86f6bd506c7549cd2e47eee2c6df815b4f..13ac7f307b5d37ffe7a059b296cedb7bfd2f8016 100644 (file)
@@ -2795,6 +2795,7 @@ GLIBC_2.4 unlinkat F
 GLIBC_2.4 unshare F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 5acf49dbe82a1a41c62df4fb8bfd178904225908..46b6b616acf8dc5b3bf06baaf2f56696ca8f3fbe 100644 (file)
@@ -2746,6 +2746,7 @@ GLIBC_2.4 unlinkat F
 GLIBC_2.4 unshare F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F
 GLIBC_2.5 __readlinkat_chk F
 GLIBC_2.5 inet6_opt_append F
 GLIBC_2.5 inet6_opt_find F
index 02d1bb97dca5f0a5d576d2dbaac9f844b4b5b6c2..1f25723c4c3fdb526ac2b2a6f1bb28d8f25f59ca 100644 (file)
@@ -2765,3 +2765,4 @@ GLIBC_2.39 stdc_trailing_zeros_ull F
 GLIBC_2.39 stdc_trailing_zeros_us F
 GLIBC_2.41 sched_getattr F
 GLIBC_2.41 sched_setattr F
+GLIBC_2.42 pthread_gettid_np F