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 | expand |
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
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
Carlos O'Donell has posted comments on this change. Change URL: https://gnutoolchain-gerrit.osci.io/r/c/glibc/+/524 ...................................................................... Patch Set 2: Code-Review+1 (7 comments) Looks good, please post a new version with required changes and double check I understood the COUNTER code correctly. | --- /dev/null | +++ /COMMIT_MSG | @@ -1,0 +2,24 @@ Parent: 4db71d2f (elf: Do not run IFUNC resolvers for LD_DEBUG=unused [BZ #24214]) | +Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> | +AuthorDate: 2019-12-03 20:32:49 +0000 | +Commit: Adhemerval Zanella <adhemerval.zanella@linaro.org> | +CommitDate: 2019-12-04 14:20:50 +0000 | + | +nptl: Add more missing placeholder abi symbol from nanosleep move | + | +This patch adds the missing __libpthread_version_placeholder for | +GLIBC_2.2.6 version from the nanosleep implementation move from | +libpthread to libc (79a547b162). PS2, Line 11: OK. | + | +It also fixes the wrong compat symbol definitions added by changing | +back the version used on vfork check and remove the unrequired PS2, Line 14: s/remove the unrequired/removing the/g | +__libpthread_version_placeholder added on some ABI 4f4bb489e0dd. PS2, Line 15: s/added on some ABI 4f4bb489e0dd./added for some ABIs (4f4bb489e0dd)./g | + | +The __libpthread_version_placeholder is also refactored to make it | +simpler to add new compat_symbols by adding a new macro | +compat_symbol_unique which uses the compiler extension __COUNTER__ | +to generate unique strong alias to be used with compat_symbol. | + | +Checked with a updated-abi on the all affected abis of nanosleep PS2, Line 22: s/of/of the/g | +move. | + | +Change-Id: I347a4dbdc931bb42b359456932dd1e17aa4d4078 | --- include/shlib-compat.h | +++ include/shlib-compat.h | @@ -59,8 +59,31 @@ # define versioned_symbol(lib, local, symbol, version) \ | # define versioned_symbol_1(lib, local, symbol, version) \ | versioned_symbol_2 (local, symbol, VERSION_##lib##_##version) | # define versioned_symbol_2(local, symbol, name) \ | default_symbol_version (local, symbol, name) | | # define compat_symbol(lib, local, symbol, version) \ | compat_symbol_reference (lib, local, symbol, version) | | +/* This is similar to compat_symbol, but allows versioning the same symbol | + to multiple version without incur in multiple symbol definitions. For PS2, Line 68: s/incur in/having/g | + instance: | + | + #if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2)) | + compat_symbol_unique (libc, old_foo, GLIBC_2_1_2) | + #endif | + | + #if (SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3)) | + compat_symbol_unique (libc, old foo, GLIBC_2_2_6) | + #endif | + | + Internally it creates an unique strong alias to the input symbol and PS2, Line 79: s/an/a/g | + issue compat_symbol on the alias. */ PS2, Line 80: s/issue/creates one/g Please tell me if I understood that correctly. | +# define __compat_symbol_unique_concat(x, y) x ## y | +# define _compat_symbol_unique_concat(x, y) \ | + __compat_symbol_unique_concat (x, y) | +# define _compat_symbol_unique_alias(name) \ | + _compat_symbol_unique_concat (name, __COUNTER__) | +# define _compat_symbol_unique(lib, orig_name, name, version) \ | + strong_alias (orig_name, name) \ | + compat_symbol (libm, name, orig_name, version) | +# define compat_symbol_unique(lib, name, version) \
Carlos O'Donell has posted comments on this change.
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/glibc/+/524
......................................................................
Patch Set 3: Code-Review+2
(12 comments)
This version looks good to me and the expanded example shows the use of __COUNTER__ and how the aliases would be created with an equivalent macro API example.
OK for master.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
| --- /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:
Done
| +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:
Done
| +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:
Done
| 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:
Done
| --- 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:
Done
| 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
| --- /dev/null
| +++ /COMMIT_MSG
| @@ -1,0 +2,24 @@ Parent: 4db71d2f (elf: Do not run IFUNC resolvers for LD_DEBUG=unused [BZ #24214])
| +Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
| +AuthorDate: 2019-12-03 20:32:49 +0000
| +Commit: Adhemerval Zanella <adhemerval.zanella@linaro.org>
| +CommitDate: 2019-12-04 14:20:50 +0000
| +
| +nptl: Add more missing placeholder abi symbol from nanosleep move
| +
| +This patch adds the missing __libpthread_version_placeholder for
| +GLIBC_2.2.6 version from the nanosleep implementation move from
| +libpthread to libc (79a547b162).
PS2, Line 11:
Done
| +
| +It also fixes the wrong compat symbol definitions added by changing
| +back the version used on vfork check and remove the unrequired
PS2, Line 14:
Done
| +__libpthread_version_placeholder added on some ABI 4f4bb489e0dd.
PS2, Line 15:
Done
| +
| +The __libpthread_version_placeholder is also refactored to make it
| +simpler to add new compat_symbols by adding a new macro
| +compat_symbol_unique which uses the compiler extension __COUNTER__
| +to generate unique strong alias to be used with compat_symbol.
| +
| +Checked with a updated-abi on the all affected abis of nanosleep
PS2, Line 22:
Done
| +move.
| +
| +Change-Id: I347a4dbdc931bb42b359456932dd1e17aa4d4078
| --- include/shlib-compat.h
| +++ include/shlib-compat.h
| @@ -59,8 +59,31 @@ # define versioned_symbol(lib, local, symbol, version) \
| # define versioned_symbol_1(lib, local, symbol, version) \
| versioned_symbol_2 (local, symbol, VERSION_##lib##_##version)
| # define versioned_symbol_2(local, symbol, name) \
| default_symbol_version (local, symbol, name)
|
| # define compat_symbol(lib, local, symbol, version) \
| compat_symbol_reference (lib, local, symbol, version)
|
| +/* This is similar to compat_symbol, but allows versioning the same symbol
| + to multiple version without incur in multiple symbol definitions. For
PS2, Line 68:
Done
| + instance:
| +
| + #if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2))
| + compat_symbol_unique (libc, old_foo, GLIBC_2_1_2)
| + #endif
| +
| + #if (SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3))
| + compat_symbol_unique (libc, old foo, GLIBC_2_2_6)
| + #endif
| +
| + Internally it creates an unique strong alias to the input symbol and
PS2, Line 79:
Done
| + issue compat_symbol on the alias. */
PS2, Line 80:
Done
| +# define __compat_symbol_unique_concat(x, y) x ## y
| +# define _compat_symbol_unique_concat(x, y) \
| + __compat_symbol_unique_concat (x, y)
| +# define _compat_symbol_unique_alias(name) \
| + _compat_symbol_unique_concat (name, __COUNTER__)
| +# define _compat_symbol_unique(lib, orig_name, name, version) \
| + strong_alias (orig_name, name) \
| + compat_symbol (libm, name, orig_name, version)
| +# define compat_symbol_unique(lib, name, version) \
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