This patch adds the missing __libpthread_version_placeholder for
GLIBC_2.2.6 version from the nanosleep implementation move from
libpthread to libc (79a547b162).
It also fixes the wrong compat symbol definitions added by changing
back the version used on vfork check and remove the
__libpthread_version_placeholder added on some ABI (4f4bb489e0dd).
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 the nanosleep
move.
Change-Id: I347a4dbdc931bb42b359456932dd1e17aa4d4078
Adds the __libpthread_version_placeholder symbol with the same version
of nanosleep/__nanosleep that was removed by 79a547b162657b3f and that
is not provided by other symbols.
Checked on x86_64-linux-gnu and powerpc64le-linux-gnu. I also checked
the libpthread.so .gnu.version_d entries for every ABI affected and
all of them contains the required versions (including for architectures
which exports __nanosleep with a different version).
Reviewed-by: Florian Weimer <fweimer@redhat.com>
Introduce pthread_clockjoin_np as a version of pthread_timedjoin_np that
accepts a clockid_t parameter to indicate which clock the timeout should be
measured against. This mirrors the recently-added POSIX-proposed "clock"
wait functions.
Checked on x86_64-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
The fix for BZ#18231 requires new symbols only for sh4eb. This patch
adds the required folder and files for both BE and LE abilist. No
semantic changes are expected.
Checked with check-abi for sh4eb-linux-gnu and sh4-linux-gnu.
* sysdeps/sh/preconfigure.ac: New file.
* sysdeps/sh/preconfigure: Regenerate.
* sysdeps/sh/be/sh3/Implies: New file.
* sysdeps/sh/be/sh4/Implies: Likewise.
* sysdeps/sh/le/sh3/Implies: Likewise.
* sysdeps/sh/le/sh4/Implies: Likewise.
* sysdeps/unix/sysv/linux/sh/le/sh3/Implies: Likewise.
* sysdeps/unix/sysv/linux/sh/le/sh4/Implies: Likewise.
* sysdeps/unix/sysv/linux/sh/*.abilist: Move to
sysdeps/unix/sysv/linux/sh/le/*.abilist.
* sysdeps/unix/sysv/linux/sh/be/*.abilist: New files.