Successfully identified regression in *glibc* in CI configuration tcwg_bmk_gnu_tk1/gnu-master-arm-spec2k6-O2. So far, this commit has regressed CI configurations: - tcwg_bmk_gnu_tk1/gnu-master-arm-spec2k6-O2
Culprit: <cut> commit 2da5f22fff639e891b9f516724683d9d7ad1511c Author: Florian Weimer fweimer@redhat.com Date: Fri Jun 25 10:42:52 2021 +0200
Linux: Move mq_notify from librt to libc
The symbol was moved using scripts/move-symbol-to-libc.py.
An explicit call from fork into the mq_notify implementation replaces the previous use of pthread_atfork.
Reviewed-by: Adhemerva Zanella adhemerval.zanella@linaro.org </cut>
Results regressed to (for first_bad == 2da5f22fff639e891b9f516724683d9d7ad1511c) # reset_artifacts: -10 # build_abe binutils: -9 # build_abe stage1 -- --set gcc_override_configure=--with-mode=arm --set gcc_override_configure=--disable-libsanitizer: -8 # build_abe linux: -7 # build_abe glibc: -6 # build_abe stage2 -- --set gcc_override_configure=--with-mode=arm --set gcc_override_configure=--disable-libsanitizer: -5 # true: 0 # benchmark -O2_marm -- artifacts/build-2da5f22fff639e891b9f516724683d9d7ad1511c/results_id: 1 # 481.wrf,[.] __module_small_step_em_MOD_advance_uv regressed by 117
from (for last_good == f66d9abca7ecc4ee4c7afcc1d1496411bfc70911) # reset_artifacts: -10 # build_abe binutils: -9 # build_abe stage1 -- --set gcc_override_configure=--with-mode=arm --set gcc_override_configure=--disable-libsanitizer: -8 # build_abe linux: -7 # build_abe glibc: -6 # build_abe stage2 -- --set gcc_override_configure=--with-mode=arm --set gcc_override_configure=--disable-libsanitizer: -5 # true: 0 # benchmark -O2_marm -- artifacts/build-f66d9abca7ecc4ee4c7afcc1d1496411bfc70911/results_id: 1
Artifacts of last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm... Results ID of last_good: tk1_32/tcwg_bmk_gnu_tk1/bisect-gnu-master-arm-spec2k6-O2/1284 Artifacts of first_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm... Results ID of first_bad: tk1_32/tcwg_bmk_gnu_tk1/bisect-gnu-master-arm-spec2k6-O2/1277 Build top page/logs: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm...
Configuration details:
Reproduce builds: <cut> mkdir investigate-glibc-2da5f22fff639e891b9f516724683d9d7ad1511c cd investigate-glibc-2da5f22fff639e891b9f516724683d9d7ad1511c
git clone https://git.linaro.org/toolchain/jenkins-scripts
mkdir -p artifacts/manifests curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm... --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm... --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm... --fail chmod +x artifacts/test.sh
# Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh
cd glibc
# Reproduce first_bad build git checkout --detach 2da5f22fff639e891b9f516724683d9d7ad1511c ../artifacts/test.sh
# Reproduce last_good build git checkout --detach f66d9abca7ecc4ee4c7afcc1d1496411bfc70911 ../artifacts/test.sh
cd .. </cut>
History of pending regressions and results: https://git.linaro.org/toolchain/ci/base-artifacts.git/log/?h=linaro-local/c...
Artifacts: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm... Build log: https://ci.linaro.org/job/tcwg_bmk_ci_gnu-bisect-tcwg_bmk_tk1-gnu-master-arm...
Full commit (up to 1000 lines): <cut> commit 2da5f22fff639e891b9f516724683d9d7ad1511c Author: Florian Weimer fweimer@redhat.com Date: Fri Jun 25 10:42:52 2021 +0200
Linux: Move mq_notify from librt to libc
The symbol was moved using scripts/move-symbol-to-libc.py.
An explicit call from fork into the mq_notify implementation replaces the previous use of pthread_atfork.
Reviewed-by: Adhemerva Zanella adhemerval.zanella@linaro.org --- include/mqueue.h | 4 ++ include/pthread.h | 3 ++ rt/Makefile | 2 +- rt/Versions | 4 +- sysdeps/nptl/fork.h | 3 ++ sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 + sysdeps/unix/sysv/linux/aarch64/librt.abilist | 1 - sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 + sysdeps/unix/sysv/linux/alpha/librt.abilist | 1 - sysdeps/unix/sysv/linux/arc/libc.abilist | 2 + sysdeps/unix/sysv/linux/arc/librt.abilist | 1 - sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 + sysdeps/unix/sysv/linux/arm/be/librt.abilist | 1 - sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 + sysdeps/unix/sysv/linux/arm/le/librt.abilist | 1 - sysdeps/unix/sysv/linux/csky/libc.abilist | 2 + sysdeps/unix/sysv/linux/csky/librt.abilist | 1 - sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 + sysdeps/unix/sysv/linux/hppa/librt.abilist | 1 - sysdeps/unix/sysv/linux/i386/libc.abilist | 2 + sysdeps/unix/sysv/linux/i386/librt.abilist | 1 - sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 + sysdeps/unix/sysv/linux/ia64/librt.abilist | 1 - sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 2 + .../unix/sysv/linux/m68k/coldfire/librt.abilist | 1 - sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 2 + sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist | 1 - sysdeps/unix/sysv/linux/microblaze/be/libc.abilist | 2 + .../unix/sysv/linux/microblaze/be/librt.abilist | 1 - sysdeps/unix/sysv/linux/microblaze/le/libc.abilist | 2 + .../unix/sysv/linux/microblaze/le/librt.abilist | 1 - .../unix/sysv/linux/mips/mips32/fpu/libc.abilist | 2 + sysdeps/unix/sysv/linux/mips/mips32/librt.abilist | 1 - .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 2 + .../unix/sysv/linux/mips/mips64/n32/libc.abilist | 2 + .../unix/sysv/linux/mips/mips64/n32/librt.abilist | 1 - .../unix/sysv/linux/mips/mips64/n64/libc.abilist | 2 + .../unix/sysv/linux/mips/mips64/n64/librt.abilist | 1 - sysdeps/unix/sysv/linux/mq_notify.c | 59 +++++++++------------- sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 + sysdeps/unix/sysv/linux/nios2/librt.abilist | 1 - .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 2 + .../sysv/linux/powerpc/powerpc32/librt.abilist | 1 - .../linux/powerpc/powerpc32/nofpu/libc.abilist | 2 + .../sysv/linux/powerpc/powerpc64/be/libc.abilist | 2 + .../sysv/linux/powerpc/powerpc64/be/librt.abilist | 1 - .../sysv/linux/powerpc/powerpc64/le/libc.abilist | 2 + .../sysv/linux/powerpc/powerpc64/le/librt.abilist | 1 - sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 2 + sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist | 1 - sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist | 2 + sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist | 1 - sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 2 + sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist | 1 - sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 2 + sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist | 1 - sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 + sysdeps/unix/sysv/linux/sh/be/librt.abilist | 1 - sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 + sysdeps/unix/sysv/linux/sh/le/librt.abilist | 1 - sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 2 + .../unix/sysv/linux/sparc/sparc32/librt.abilist | 1 - sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 2 + .../unix/sysv/linux/sparc/sparc64/librt.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 2 + sysdeps/unix/sysv/linux/x86_64/64/librt.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 2 + sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist | 1 - 68 files changed, 101 insertions(+), 68 deletions(-)
diff --git a/include/mqueue.h b/include/mqueue.h index 008589f0fa..2c40c1e3fc 100644 --- a/include/mqueue.h +++ b/include/mqueue.h @@ -15,6 +15,10 @@ hidden_proto (mq_setattr)
# if PTHREAD_IN_LIBC libc_hidden_proto (mq_setattr) + +/* Called from fork so that the new subprocess re-creates the + notification thread if necessary. */ +void __mq_notify_fork_subprocess (void) attribute_hidden; # endif
#include <struct___timespec64.h> diff --git a/include/pthread.h b/include/pthread.h index 1158919247..819bf3f235 100644 --- a/include/pthread.h +++ b/include/pthread.h @@ -13,6 +13,9 @@ libc_hidden_proto (__pthread_barrier_init) #endif extern int __pthread_barrier_wait (pthread_barrier_t *__barrier) __THROWNL __nonnull ((1)); +#if PTHREAD_IN_LIBC +libc_hidden_proto (__pthread_barrier_wait) +#endif
/* This function is called to initialize the pthread library. */ extern void __pthread_initialize (void) __attribute__ ((weak)); diff --git a/rt/Makefile b/rt/Makefile index f753a9aa7a..e86a3107ee 100644 --- a/rt/Makefile +++ b/rt/Makefile @@ -30,7 +30,6 @@ routines = \
librt-routines = \ librt-compat \ - mq_notify \ mq_open \ mq_receive \ mq_send \ @@ -62,6 +61,7 @@ $(librt-routines-var) += \ lio_listio64 \ mq_close \ mq_getattr \ + mq_notify \ mq_setattr \
tests := tst-shm tst-timer tst-timer2 \ diff --git a/rt/Versions b/rt/Versions index 38f23c16ef..b3c9bba9ff 100644 --- a/rt/Versions +++ b/rt/Versions @@ -28,6 +28,7 @@ libc { %if PTHREAD_IN_LIBC mq_close; mq_getattr; + mq_notify; mq_setattr; %endif } @@ -58,6 +59,7 @@ libc { lio_listio64; mq_close; mq_getattr; + mq_notify; mq_setattr; %endif shm_open; @@ -112,9 +114,9 @@ librt { %if !PTHREAD_IN_LIBC mq_close; mq_getattr; + mq_notify; mq_setattr; %endif - mq_notify; mq_open; mq_receive; mq_send; diff --git a/sysdeps/nptl/fork.h b/sysdeps/nptl/fork.h index 3134d7ab94..1fc3a83bd3 100644 --- a/sysdeps/nptl/fork.h +++ b/sysdeps/nptl/fork.h @@ -22,6 +22,7 @@ #include <assert.h> #include <ldsodefs.h> #include <list.h> +#include <mqueue.h> #include <pthreadP.h> #include <sysdep.h>
@@ -41,6 +42,8 @@ fork_system_setup_after_fork (void) /* Initialize thread library locks. */ GL (dl_stack_cache_lock) = LLL_LOCK_INITIALIZER; __default_pthread_attr_lock = LLL_LOCK_INITIALIZER; + + call_function_static_weak (__mq_notify_fork_subprocess); }
/* In case of a fork() call the memory allocation in the child will be diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index c6b225527c..98dd344aaf 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -1359,6 +1359,7 @@ GLIBC_2.17 mprobe F GLIBC_2.17 mprotect F GLIBC_2.17 mq_close F GLIBC_2.17 mq_getattr F +GLIBC_2.17 mq_notify F GLIBC_2.17 mq_setattr F GLIBC_2.17 mrand48 F GLIBC_2.17 mrand48_r F @@ -2404,6 +2405,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/sysdeps/unix/sysv/linux/aarch64/librt.abilist index 33b825d874..6cab033b12 100644 --- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist @@ -1,5 +1,4 @@ GLIBC_2.17 __mq_open_2 F -GLIBC_2.17 mq_notify F GLIBC_2.17 mq_open F GLIBC_2.17 mq_receive F GLIBC_2.17 mq_send F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 4930bfef60..5026e54d51 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2394,6 +2394,7 @@ GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2499,6 +2500,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist index 29f9030371..d85884d888 100644 --- a/sysdeps/unix/sysv/linux/alpha/librt.abilist +++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist @@ -10,7 +10,6 @@ GLIBC_2.3.3 timer_delete F GLIBC_2.3.3 timer_getoverrun F GLIBC_2.3.3 timer_gettime F GLIBC_2.3.3 timer_settime F -GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_open F GLIBC_2.3.4 mq_receive F GLIBC_2.3.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 78a01ca136..f677395bd2 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -1290,6 +1290,7 @@ GLIBC_2.32 mprobe F GLIBC_2.32 mprotect F GLIBC_2.32 mq_close F GLIBC_2.32 mq_getattr F +GLIBC_2.32 mq_notify F GLIBC_2.32 mq_setattr F GLIBC_2.32 mrand48 F GLIBC_2.32 mrand48_r F @@ -2163,6 +2164,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist index 4143924c8b..16864093a0 100644 --- a/sysdeps/unix/sysv/linux/arc/librt.abilist +++ b/sysdeps/unix/sysv/linux/arc/librt.abilist @@ -1,5 +1,4 @@ GLIBC_2.32 __mq_open_2 F -GLIBC_2.32 mq_notify F GLIBC_2.32 mq_open F GLIBC_2.32 mq_receive F GLIBC_2.32 mq_send F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 4ad531fb76..38e6fc61d4 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -315,6 +315,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F @@ -1731,6 +1732,7 @@ GLIBC_2.4 mprobe F GLIBC_2.4 mprotect F GLIBC_2.4 mq_close F GLIBC_2.4 mq_getattr F +GLIBC_2.4 mq_notify F GLIBC_2.4 mq_setattr F GLIBC_2.4 mrand48 F GLIBC_2.4 mrand48_r F diff --git a/sysdeps/unix/sysv/linux/arm/be/librt.abilist b/sysdeps/unix/sysv/linux/arm/be/librt.abilist index ba9f5f6422..6d3cb7c1fa 100644 --- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist @@ -2,7 +2,6 @@ GLIBC_2.34 __mq_timedreceive_time64 F GLIBC_2.34 __mq_timedsend_time64 F GLIBC_2.34 __timer_gettime64 F GLIBC_2.34 __timer_settime64 F -GLIBC_2.4 mq_notify F GLIBC_2.4 mq_open F GLIBC_2.4 mq_receive F GLIBC_2.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index aae2e215f3..c31f58229a 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -312,6 +312,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F @@ -1728,6 +1729,7 @@ GLIBC_2.4 mprobe F GLIBC_2.4 mprotect F GLIBC_2.4 mq_close F GLIBC_2.4 mq_getattr F +GLIBC_2.4 mq_notify F GLIBC_2.4 mq_setattr F GLIBC_2.4 mrand48 F GLIBC_2.4 mrand48_r F diff --git a/sysdeps/unix/sysv/linux/arm/le/librt.abilist b/sysdeps/unix/sysv/linux/arm/le/librt.abilist index ba9f5f6422..6d3cb7c1fa 100644 --- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist @@ -2,7 +2,6 @@ GLIBC_2.34 __mq_timedreceive_time64 F GLIBC_2.34 __mq_timedsend_time64 F GLIBC_2.34 __timer_gettime64 F GLIBC_2.34 __timer_settime64 F -GLIBC_2.4 mq_notify F GLIBC_2.4 mq_open F GLIBC_2.4 mq_receive F GLIBC_2.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 0bbe74a51a..bd0cec183d 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -1345,6 +1345,7 @@ GLIBC_2.29 mprobe F GLIBC_2.29 mprotect F GLIBC_2.29 mq_close F GLIBC_2.29 mq_getattr F +GLIBC_2.29 mq_notify F GLIBC_2.29 mq_setattr F GLIBC_2.29 mrand48 F GLIBC_2.29 mrand48_r F @@ -2424,6 +2425,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/csky/librt.abilist b/sysdeps/unix/sysv/linux/csky/librt.abilist index 1ffc068f62..7c20548140 100644 --- a/sysdeps/unix/sysv/linux/csky/librt.abilist +++ b/sysdeps/unix/sysv/linux/csky/librt.abilist @@ -1,5 +1,4 @@ GLIBC_2.29 __mq_open_2 F -GLIBC_2.29 mq_notify F GLIBC_2.29 mq_open F GLIBC_2.29 mq_receive F GLIBC_2.29 mq_send F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index f96ed60028..e089d91a80 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2208,6 +2208,7 @@ GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2378,6 +2379,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist b/sysdeps/unix/sysv/linux/hppa/librt.abilist index d208e7b7a8..c4164f4149 100644 --- a/sysdeps/unix/sysv/linux/hppa/librt.abilist +++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F GLIBC_2.2 timer_settime F -GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_open F GLIBC_2.3.4 mq_receive F GLIBC_2.3.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index a724074718..d04f1e1a95 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2389,6 +2389,7 @@ GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2562,6 +2563,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/i386/librt.abilist b/sysdeps/unix/sysv/linux/i386/librt.abilist index d208e7b7a8..c4164f4149 100644 --- a/sysdeps/unix/sysv/linux/i386/librt.abilist +++ b/sysdeps/unix/sysv/linux/i386/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F GLIBC_2.2 timer_settime F -GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_open F GLIBC_2.3.4 mq_receive F GLIBC_2.3.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 3b5c72f307..c7569a5138 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2243,6 +2243,7 @@ GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2337,6 +2338,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/ia64/librt.abilist b/sysdeps/unix/sysv/linux/ia64/librt.abilist index 38edc31e90..1ec96c2786 100644 --- a/sysdeps/unix/sysv/linux/ia64/librt.abilist +++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist @@ -9,7 +9,6 @@ GLIBC_2.3.3 timer_delete F GLIBC_2.3.3 timer_getoverrun F GLIBC_2.3.3 timer_gettime F GLIBC_2.3.3 timer_settime F -GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_open F GLIBC_2.3.4 mq_receive F GLIBC_2.3.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 85de809b2d..57139d935a 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -316,6 +316,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F @@ -1715,6 +1716,7 @@ GLIBC_2.4 mprobe F GLIBC_2.4 mprotect F GLIBC_2.4 mq_close F GLIBC_2.4 mq_getattr F +GLIBC_2.4 mq_notify F GLIBC_2.4 mq_setattr F GLIBC_2.4 mrand48 F GLIBC_2.4 mrand48_r F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist index ba9f5f6422..6d3cb7c1fa 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist @@ -2,7 +2,6 @@ GLIBC_2.34 __mq_timedreceive_time64 F GLIBC_2.34 __mq_timedsend_time64 F GLIBC_2.34 __timer_gettime64 F GLIBC_2.34 __timer_settime64 F -GLIBC_2.4 mq_notify F GLIBC_2.4 mq_open F GLIBC_2.4 mq_receive F GLIBC_2.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index a9abdfa950..5fd9bf57ec 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2332,6 +2332,7 @@ GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2505,6 +2506,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist index d208e7b7a8..c4164f4149 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F GLIBC_2.2 timer_settime F -GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_open F GLIBC_2.3.4 mq_receive F GLIBC_2.3.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 6bf22e63e3..434b3f6844 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -1361,6 +1361,7 @@ GLIBC_2.18 mprobe F GLIBC_2.18 mprotect F GLIBC_2.18 mq_close F GLIBC_2.18 mq_getattr F +GLIBC_2.18 mq_notify F GLIBC_2.18 mq_setattr F GLIBC_2.18 mrand48 F GLIBC_2.18 mrand48_r F @@ -2475,6 +2476,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist index a8bbeb6a20..f82d9ba705 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist @@ -1,5 +1,4 @@ GLIBC_2.18 __mq_open_2 F -GLIBC_2.18 mq_notify F GLIBC_2.18 mq_open F GLIBC_2.18 mq_receive F GLIBC_2.18 mq_send F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 4e211638c9..1d97080a9c 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -1361,6 +1361,7 @@ GLIBC_2.18 mprobe F GLIBC_2.18 mprotect F GLIBC_2.18 mq_close F GLIBC_2.18 mq_getattr F +GLIBC_2.18 mq_notify F GLIBC_2.18 mq_setattr F GLIBC_2.18 mrand48 F GLIBC_2.18 mrand48_r F @@ -2472,6 +2473,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist index a8bbeb6a20..f82d9ba705 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist @@ -1,5 +1,4 @@ GLIBC_2.18 __mq_open_2 F -GLIBC_2.18 mq_notify F GLIBC_2.18 mq_open F GLIBC_2.18 mq_receive F GLIBC_2.18 mq_send F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 96d2e57a71..d43b66902d 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2300,6 +2300,7 @@ GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2470,6 +2471,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist index 7704fd1722..12c3cbae0d 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist @@ -3,7 +3,6 @@ GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F GLIBC_2.2 timer_settime F -GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_open F GLIBC_2.3.4 mq_receive F GLIBC_2.3.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 3f8736354d..86dfc85225 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -2298,6 +2298,7 @@ GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2468,6 +2469,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index ab6ca602b9..3314c50b3c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2306,6 +2306,7 @@ GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2476,6 +2477,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist index 7704fd1722..12c3cbae0d 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist @@ -3,7 +3,6 @@ GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F GLIBC_2.2 timer_settime F -GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_open F GLIBC_2.3.4 mq_receive F GLIBC_2.3.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index 328abb0e02..a23ebf24a8 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -2300,6 +2300,7 @@ GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2393,6 +2394,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist index a249a4623f..7afe4e83cf 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist @@ -3,7 +3,6 @@ GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F GLIBC_2.2 timer_settime F -GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_open F GLIBC_2.3.4 mq_receive F GLIBC_2.3.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/mq_notify.c b/sysdeps/unix/sysv/linux/mq_notify.c index e22850a910..9799dcdaa4 100644 --- a/sysdeps/unix/sysv/linux/mq_notify.c +++ b/sysdeps/unix/sysv/linux/mq_notify.c @@ -29,7 +29,7 @@ #include <sys/socket.h> #include <not-cancel.h> #include <pthreadP.h> - +#include <shlib-compat.h>
/* Defined in the kernel headers: */ #define NOTIFY_COOKIE_LEN 32 /* Length of the cookie used. */ @@ -75,7 +75,7 @@ change_sigmask (int how, sigset_t *oss) { sigset_t ss; sigfillset (&ss); - return pthread_sigmask (how, &ss, oss); + return __pthread_sigmask (how, &ss, oss); }
@@ -93,7 +93,7 @@ notification_function (void *arg) (void) __pthread_barrier_wait (¬ify_barrier);
/* Make the thread detached. */ - (void) pthread_detach (pthread_self ()); + __pthread_detach (__pthread_self ());
/* The parent thread has all signals blocked. This is probably a bit surprising for this thread. So we unblock all of them. */ @@ -125,9 +125,8 @@ helper_thread (void *arg) /* Just create the thread as instructed. There is no way to report a problem with creating a thread. */ pthread_t th; - if (__builtin_expect (pthread_create (&th, data.attr, - notification_function, &data) - == 0, 0)) + if (__pthread_create (&th, data.attr, notification_function, &data) + == 0) /* Since we passed a pointer to DATA to the new thread we have to wait until it is done with it. */ (void) __pthread_barrier_wait (¬ify_barrier); @@ -135,7 +134,7 @@ helper_thread (void *arg) else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED) { /* The only state we keep is the copy of the thread attributes. */ - pthread_attr_destroy (data.attr); + __pthread_attr_destroy (data.attr); free (data.attr); } } @@ -143,8 +142,8 @@ helper_thread (void *arg) }
-static void -reset_once (void) +void +__mq_notify_fork_subprocess (void) { once = PTHREAD_ONCE_INIT; } @@ -167,15 +166,14 @@ init_mq_netlink (void) int err = 1;
/* Initialize the barrier. */ - if (__builtin_expect (__pthread_barrier_init (¬ify_barrier, NULL, 2) == 0, - 0)) + if (__pthread_barrier_init (¬ify_barrier, NULL, 2) == 0) { /* Create the helper thread. */ pthread_attr_t attr; - (void) pthread_attr_init (&attr); - (void) pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); + __pthread_attr_init (&attr); + __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); /* We do not need much stack space, the bare minimum will be enough. */ - (void) pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr)); + __pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr));
/* Temporarily block all signals so that the newly created thread inherits the mask. */ @@ -183,29 +181,13 @@ init_mq_netlink (void) int have_no_oss = change_sigmask (SIG_BLOCK, &oss);
pthread_t th; - err = pthread_create (&th, &attr, helper_thread, NULL); + err = __pthread_create (&th, &attr, helper_thread, NULL);
/* Reset the signal mask. */ if (!have_no_oss) - pthread_sigmask (SIG_SETMASK, &oss, NULL); - - (void) pthread_attr_destroy (&attr); + __pthread_sigmask (SIG_SETMASK, &oss, NULL);
- if (err == 0) - { - static int added_atfork; - - if (added_atfork == 0 - && pthread_atfork (NULL, NULL, reset_once) != 0) - { - /* The child thread will call recv() which is a - cancellation point. */ - (void) pthread_cancel (th); - err = 1; - } - else - added_atfork = 1; - } + __pthread_attr_destroy (&attr); }
if (err != 0) @@ -219,7 +201,7 @@ init_mq_netlink (void) /* Register notification upon message arrival to an empty message queue MQDES. */ int -mq_notify (mqd_t mqdes, const struct sigevent *notification) +__mq_notify (mqd_t mqdes, const struct sigevent *notification) { /* Make sure the type is correctly defined. */ assert (sizeof (union notify_data) == NOTIFY_COOKIE_LEN); @@ -235,7 +217,7 @@ mq_notify (mqd_t mqdes, const struct sigevent *notification) response. */
/* Initialize only once. */ - pthread_once (&once, init_mq_netlink); + __pthread_once (&once, init_mq_netlink);
/* If we cannot create the netlink socket we cannot provide SIGEV_THREAD support. */ @@ -280,9 +262,14 @@ mq_notify (mqd_t mqdes, const struct sigevent *notification) /* If it failed, free the allocated memory. */ if (retval != 0 && data.attr != NULL) { - pthread_attr_destroy (data.attr); + __pthread_attr_destroy (data.attr); free (data.attr); }
return retval; } +versioned_symbol (libc, __mq_notify, mq_notify, GLIBC_2_34); +libc_hidden_ver (__mq_notify, mq_notify) +#if OTHER_SHLIB_COMPAT (librt, GLIBC_2_3_4, GLIBC_2_34) +compat_symbol (librt, __mq_notify, mq_notify, GLIBC_2_3_4); +#endif diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index b8dd80465f..50b5f57efc 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -1404,6 +1404,7 @@ GLIBC_2.21 mprobe F GLIBC_2.21 mprotect F GLIBC_2.21 mq_close F GLIBC_2.21 mq_getattr F +GLIBC_2.21 mq_notify F GLIBC_2.21 mq_setattr F GLIBC_2.21 mrand48 F GLIBC_2.21 mrand48_r F @@ -2514,6 +2515,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/nios2/librt.abilist b/sysdeps/unix/sysv/linux/nios2/librt.abilist index 64a169169f..0ad1b47423 100644 --- a/sysdeps/unix/sysv/linux/nios2/librt.abilist +++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist @@ -1,5 +1,4 @@ GLIBC_2.21 __mq_open_2 F -GLIBC_2.21 mq_notify F GLIBC_2.21 mq_open F GLIBC_2.21 mq_receive F GLIBC_2.21 mq_send F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 04a263f810..c8b663ff2f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -2346,6 +2346,7 @@ GLIBC_2.3.4 longjmp F GLIBC_2.3.4 makecontext F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2532,6 +2533,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist index d208e7b7a8..c4164f4149 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist @@ -4,7 +4,6 @@ GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F GLIBC_2.2 timer_settime F -GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_open F GLIBC_2.3.4 mq_receive F GLIBC_2.3.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 9e8043323c..551af732bb 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2379,6 +2379,7 @@ GLIBC_2.3.4 longjmp F GLIBC_2.3.4 makecontext F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2565,6 +2566,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 21e7cb9a28..a79b8863e1 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -2192,6 +2192,7 @@ GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 longjmp F GLIBC_2.3.4 mq_close F GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_attr_setaffinity_np F @@ -2301,6 +2302,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist index 073df9d157..a7117238c4 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist @@ -8,7 +8,6 @@ GLIBC_2.3.3 timer_delete F GLIBC_2.3.3 timer_getoverrun F GLIBC_2.3.3 timer_gettime F GLIBC_2.3.3 timer_settime F -GLIBC_2.3.4 mq_notify F GLIBC_2.3.4 mq_open F GLIBC_2.3.4 mq_receive F GLIBC_2.3.4 mq_send F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 5487741113..89293145e4 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -1447,6 +1447,7 @@ GLIBC_2.17 mprobe F GLIBC_2.17 mprotect F GLIBC_2.17 mq_close F GLIBC_2.17 mq_getattr F +GLIBC_2.17 mq_notify F GLIBC_2.17 mq_setattr F GLIBC_2.17 mrand48 F GLIBC_2.17 mrand48_r F @@ -2600,6 +2601,7 @@ GLIBC_2.34 lio_listio F GLIBC_2.34 lio_listio64 F GLIBC_2.34 mq_close F GLIBC_2.34 mq_getattr F +GLIBC_2.34 mq_notify F GLIBC_2.34 mq_setattr F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist index 33b825d874..6cab033b12 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist @@ -1,5 +1,4 @@ GLIBC_2.17 __mq_open_2 F -GLIBC_2.17 mq_notify F GLIBC_2.17 mq_open F GLIBC_2.17 mq_receive F GLIBC_2.17 mq_send F </cut>