[review] nptl: Add more missing placeholder abi symbol from nanosleep move

Message ID gerrit.1573149193000.I347a4dbdc931bb42b359456932dd1e17aa4d4078@gnutoolchain-gerrit.osci.io
State New
Headers show
Series
  • [review] nptl: Add more missing placeholder abi symbol from nanosleep move
Related show

Commit Message

Pedro Alves (Code Review) Nov. 7, 2019, 5:53 p.m.
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/glibc/+/524
......................................................................

nptl: Add more missing placeholder abi symbol from nanosleep move

This patch adds the __libpthread_version_placeholder for GLIBC.2.2
and GLIBC_2.2.6 resulting the nanosleep implementation move to libc.
This aims to fix the wrong compat symbol definition 79a547b162657b3.

Checked with a updated-abi on the all afftected abis of nanosleep
move.

Change-Id: I347a4dbdc931bb42b359456932dd1e17aa4d4078
---
M nptl/libpthread-compat.c
M sysdeps/unix/sysv/linux/alpha/libpthread.abilist
M sysdeps/unix/sysv/linux/hppa/libpthread.abilist
M sysdeps/unix/sysv/linux/i386/libpthread.abilist
M sysdeps/unix/sysv/linux/ia64/libpthread.abilist
M sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
M sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
M sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
M sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
M sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
M sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
M sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
M sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
M sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
M sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
M sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
16 files changed, 30 insertions(+), 1 deletion(-)




-- 
Gerrit-Project: glibc
Gerrit-Branch: master
Gerrit-Change-Id: I347a4dbdc931bb42b359456932dd1e17aa4d4078
Gerrit-Change-Number: 524
Gerrit-PatchSet: 1
Gerrit-Owner: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Gerrit-MessageType: newchange

Comments

Pedro Alves (Code Review) Nov. 27, 2019, 7 p.m. | #1
Carlos O'Donell has posted comments on this change.

Change URL: https://gnutoolchain-gerrit.osci.io/r/c/glibc/+/524
......................................................................


Patch Set 1: Code-Review+1

(5 comments)

Solution looks good for the missing symbol sets.

Fix commit message typos, and push again and I'll review.

| --- /dev/null
| +++ /COMMIT_MSG
| @@ -1,0 +1,16 @@ 
| +Parent:     4f4bb489 (nptl: Add missing placeholder abi symbol from nanosleep move)
| +Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
| +AuthorDate: 2019-11-07 17:47:07 +0000
| +Commit:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
| +CommitDate: 2019-11-07 14:52:43 -0300
| +
| +nptl: Add more missing placeholder abi symbol from nanosleep move
| +
| +This patch adds the __libpthread_version_placeholder for GLIBC.2.2
| +and GLIBC_2.2.6 resulting the nanosleep implementation move to libc.

PS1, Line 10:

s/resulting the/resulting from the/g

| +This aims to fix the wrong compat symbol definition 79a547b162657b3.
| +
| +Checked with a updated-abi on the all afftected abis of nanosleep

PS1, Line 13:

s/afftected/affected/g

| +move.
| +
| +Change-Id: I347a4dbdc931bb42b359456932dd1e17aa4d4078
| --- nptl/libpthread-compat.c
| +++ nptl/libpthread-compat.c
| @@ -21,17 +21,31 @@ #include <shlib-compat.h>
|  /* This is an unused compatibility symbol definition, to prevent ld
|     from creating a weak version definition for GLIBC_2.1.2.  (__vfork
|     used to be defined at that version, but it is now provided by libc,
|     and there are no versions left in libpthread for that symbol
|     version.)  If the ABI baseline for glibc is the GLIBC_2.2 symbol
|     version or later, the placeholder symbol is not needed because
|     there are plenty of other symbols which populate those later
|     versions.  */
| -#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2_6))
| +#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2) \
| +     || SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3))

PS1, Line 30:

OK, Compat for two ranges.

|  void
|  attribute_compat_text_section
|  __libpthread_version_placeholder (void)
|  {
|  }
|  compat_symbol (libpthread, __libpthread_version_placeholder,
|                 __libpthread_version_placeholder, GLIBC_2_1_2);
|  #endif
| +
| +#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2))
| +strong_alias (__libpthread_version_placeholder,
| +              __libpthread_version_placeholder_212)
| +compat_symbol (libpthread, __libpthread_version_placeholder_212,
| +               __libpthread_version_placeholder, GLIBC_2_1_2);
| +#endif
| +#if (SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3))
| +strong_alias (__libpthread_version_placeholder,
| +              __libpthread_version_placeholder_226)
| +compat_symbol (libpthread, __libpthread_version_placeholder_226,
| +               __libpthread_version_placeholder, GLIBC_2_2_6);
| +#endif

PS1, Line 51:

OK. define the strong and compat alises for the two version ranges.

| --- sysdeps/unix/sysv/linux/alpha/libpthread.abilist
| +++ sysdeps/unix/sysv/linux/alpha/libpthread.abilist
| @@ -186,18 +186,19 @@ GLIBC_2.2 pthread_spin_destroy F
|  GLIBC_2.2 pthread_spin_init F
|  GLIBC_2.2 pthread_spin_lock F
|  GLIBC_2.2 pthread_spin_trylock F
|  GLIBC_2.2 pthread_spin_unlock F
|  GLIBC_2.2 pthread_yield F
|  GLIBC_2.2 pwrite F
|  GLIBC_2.2 pwrite64 F
|  GLIBC_2.2 sem_timedwait F
|  GLIBC_2.2.3 pthread_getattr_np F
| +GLIBC_2.2.6 __libpthread_version_placeholder F

PS1, Line 195:

OK, Add GLIBC_2.2.6 versions

|  GLIBC_2.28 call_once F
|  GLIBC_2.28 cnd_broadcast F
|  GLIBC_2.28 cnd_destroy F
|  GLIBC_2.28 cnd_init F
|  GLIBC_2.28 cnd_signal F
|  GLIBC_2.28 cnd_timedwait F
|  GLIBC_2.28 cnd_wait F
|  GLIBC_2.28 mtx_destroy F
|  GLIBC_2.28 mtx_init F

-- 
Gerrit-Project: glibc
Gerrit-Branch: master
Gerrit-Change-Id: I347a4dbdc931bb42b359456932dd1e17aa4d4078
Gerrit-Change-Number: 524
Gerrit-PatchSet: 1
Gerrit-Owner: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Gerrit-Reviewer: Carlos O'Donell <carlos@redhat.com>
Gerrit-Comment-Date: Wed, 27 Nov 2019 19:00:36 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Pedro Alves (Code Review) Dec. 4, 2019, 2:31 p.m. | #2
Adhemerval Zanella has posted comments on this change.

Change URL: https://gnutoolchain-gerrit.osci.io/r/c/glibc/+/524
......................................................................


Patch Set 1:

(5 comments)

| --- /dev/null
| +++ /COMMIT_MSG
| @@ -1,0 +1,16 @@ 
| +Parent:     4f4bb489 (nptl: Add missing placeholder abi symbol from nanosleep move)
| +Author:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
| +AuthorDate: 2019-11-07 17:47:07 +0000
| +Commit:     Adhemerval Zanella <adhemerval.zanella@linaro.org>
| +CommitDate: 2019-11-07 14:52:43 -0300
| +
| +nptl: Add more missing placeholder abi symbol from nanosleep move
| +
| +This patch adds the __libpthread_version_placeholder for GLIBC.2.2
| +and GLIBC_2.2.6 resulting the nanosleep implementation move to libc.

PS1, Line 10:

Ack

| +This aims to fix the wrong compat symbol definition 79a547b162657b3.
| +
| +Checked with a updated-abi on the all afftected abis of nanosleep

PS1, Line 13:

Ack

| +move.
| +
| +Change-Id: I347a4dbdc931bb42b359456932dd1e17aa4d4078
| --- nptl/libpthread-compat.c
| +++ nptl/libpthread-compat.c
| @@ -21,17 +21,31 @@ #include <shlib-compat.h>
|  /* This is an unused compatibility symbol definition, to prevent ld
|     from creating a weak version definition for GLIBC_2.1.2.  (__vfork
|     used to be defined at that version, but it is now provided by libc,
|     and there are no versions left in libpthread for that symbol
|     version.)  If the ABI baseline for glibc is the GLIBC_2.2 symbol
|     version or later, the placeholder symbol is not needed because
|     there are plenty of other symbols which populate those later
|     versions.  */
| -#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2_6))
| +#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2) \
| +     || SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3))

PS1, Line 30:

Ack

|  void
|  attribute_compat_text_section
|  __libpthread_version_placeholder (void)
|  {
|  }
|  compat_symbol (libpthread, __libpthread_version_placeholder,
|                 __libpthread_version_placeholder, GLIBC_2_1_2);
|  #endif
| +
| +#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2))
| +strong_alias (__libpthread_version_placeholder,
| +              __libpthread_version_placeholder_212)
| +compat_symbol (libpthread, __libpthread_version_placeholder_212,
| +               __libpthread_version_placeholder, GLIBC_2_1_2);
| +#endif
| +#if (SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3))
| +strong_alias (__libpthread_version_placeholder,
| +              __libpthread_version_placeholder_226)
| +compat_symbol (libpthread, __libpthread_version_placeholder_226,
| +               __libpthread_version_placeholder, GLIBC_2_2_6);
| +#endif

PS1, Line 51:

Ack

| --- sysdeps/unix/sysv/linux/alpha/libpthread.abilist
| +++ sysdeps/unix/sysv/linux/alpha/libpthread.abilist
| @@ -186,18 +186,19 @@ GLIBC_2.2 pthread_spin_destroy F
|  GLIBC_2.2 pthread_spin_init F
|  GLIBC_2.2 pthread_spin_lock F
|  GLIBC_2.2 pthread_spin_trylock F
|  GLIBC_2.2 pthread_spin_unlock F
|  GLIBC_2.2 pthread_yield F
|  GLIBC_2.2 pwrite F
|  GLIBC_2.2 pwrite64 F
|  GLIBC_2.2 sem_timedwait F
|  GLIBC_2.2.3 pthread_getattr_np F
| +GLIBC_2.2.6 __libpthread_version_placeholder F

PS1, Line 195:

Ack

|  GLIBC_2.28 call_once F
|  GLIBC_2.28 cnd_broadcast F
|  GLIBC_2.28 cnd_destroy F
|  GLIBC_2.28 cnd_init F
|  GLIBC_2.28 cnd_signal F
|  GLIBC_2.28 cnd_timedwait F
|  GLIBC_2.28 cnd_wait F
|  GLIBC_2.28 mtx_destroy F
|  GLIBC_2.28 mtx_init F

-- 
Gerrit-Project: glibc
Gerrit-Branch: master
Gerrit-Change-Id: I347a4dbdc931bb42b359456932dd1e17aa4d4078
Gerrit-Change-Number: 524
Gerrit-PatchSet: 1
Gerrit-Owner: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Gerrit-Reviewer: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Gerrit-Reviewer: Carlos O'Donell <carlos@redhat.com>
Gerrit-Comment-Date: Wed, 04 Dec 2019 14:31:49 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Carlos O'Donell <carlos@redhat.com>
Gerrit-MessageType: comment

Patch

diff --git a/nptl/libpthread-compat.c b/nptl/libpthread-compat.c
index 7398f5e..cba457d 100644
--- a/nptl/libpthread-compat.c
+++ b/nptl/libpthread-compat.c
@@ -26,7 +26,8 @@ 
    version or later, the placeholder symbol is not needed because
    there are plenty of other symbols which populate those later
    versions.  */
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2_6))
+#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2) \
+     || SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3))
 void
 attribute_compat_text_section
 __libpthread_version_placeholder (void)
@@ -35,3 +36,16 @@ 
 compat_symbol (libpthread, __libpthread_version_placeholder,
                __libpthread_version_placeholder, GLIBC_2_1_2);
 #endif
+
+#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2))
+strong_alias (__libpthread_version_placeholder,
+              __libpthread_version_placeholder_212)
+compat_symbol (libpthread, __libpthread_version_placeholder_212,
+               __libpthread_version_placeholder, GLIBC_2_1_2);
+#endif
+#if (SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3))
+strong_alias (__libpthread_version_placeholder,
+              __libpthread_version_placeholder_226)
+compat_symbol (libpthread, __libpthread_version_placeholder_226,
+               __libpthread_version_placeholder, GLIBC_2_2_6);
+#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index f42bcff..da5e997 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -192,6 +192,7 @@ 
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index d87fadf..7a07811 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -185,6 +185,7 @@ 
 GLIBC_2.2 waitpid F
 GLIBC_2.2 write F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 5d1bf0f..68fd150 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -192,6 +192,7 @@ 
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index c065ddb..db8824e 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -185,6 +185,7 @@ 
 GLIBC_2.2 waitpid F
 GLIBC_2.2 write F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 5d1bf0f..68fd150 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -192,6 +192,7 @@ 
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 1b5fd5e..46f8695 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -192,6 +192,7 @@ 
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 1b5fd5e..46f8695 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -192,6 +192,7 @@ 
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 0245103..88d6d73 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -192,6 +192,7 @@ 
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 429d8b6..bfa1d5e 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -194,6 +194,7 @@ 
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index d42e1fc..2157e95 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -187,6 +187,7 @@ 
 GLIBC_2.2 waitpid F
 GLIBC_2.2 write F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index d87fadf..7a07811 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -185,6 +185,7 @@ 
 GLIBC_2.2 waitpid F
 GLIBC_2.2 write F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index d87fadf..7a07811 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -185,6 +185,7 @@ 
 GLIBC_2.2 waitpid F
 GLIBC_2.2 write F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index f42bcff..da5e997 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -192,6 +192,7 @@ 
 GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index c065ddb..db8824e 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -185,6 +185,7 @@ 
 GLIBC_2.2 waitpid F
 GLIBC_2.2 write F
 GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 610562b..021bda4 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -185,6 +185,7 @@ 
 GLIBC_2.2.5 wait F
 GLIBC_2.2.5 waitpid F
 GLIBC_2.2.5 write F
+GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F