diff options
64 files changed, 84 insertions, 43 deletions
diff --git a/nptl/Makefile b/nptl/Makefile index 8c32937d82..d0410f6827 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -154,6 +154,7 @@ routines = \ sem_close \ sem_destroy \ sem_getvalue \ + sem_init \ sem_open \ sem_routines \ tpp \ @@ -207,7 +208,6 @@ libpthread-routines = \ pthread_sigqueue \ pthread_timedjoin \ pthread_tryjoin \ - sem_init \ sem_post \ sem_timedwait \ sem_unlink \ diff --git a/nptl/Versions b/nptl/Versions index dd1c1c7e9e..428cb43c9d 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -64,6 +64,7 @@ libc { pthread_testcancel; sem_destroy; sem_getvalue; + sem_init; } GLIBC_2.1 { pthread_attr_init; @@ -84,6 +85,7 @@ libc { pthread_rwlockattr_setpshared; sem_destroy; sem_getvalue; + sem_init; } GLIBC_2.1.1 { sem_close; @@ -260,6 +262,7 @@ libc { sem_close; sem_destroy; sem_getvalue; + sem_init; sem_open; thrd_exit; tss_create; @@ -326,7 +329,6 @@ libpthread { pthread_detach; pthread_join; pthread_sigmask; - sem_init; sem_post; sem_trywait; sem_wait; @@ -342,7 +344,6 @@ libpthread { pthread_create; pthread_getconcurrency; pthread_setconcurrency; - sem_init; sem_post; sem_trywait; sem_wait; diff --git a/nptl/sem_init.c b/nptl/sem_init.c index ea2ff7b85c..39fe76b92b 100644 --- a/nptl/sem_init.c +++ b/nptl/sem_init.c @@ -61,11 +61,13 @@ __new_sem_init (sem_t *sem, int pshared, unsigned int value) return 0; } -versioned_symbol (libpthread, __new_sem_init, sem_init, GLIBC_2_1); - +versioned_symbol (libc, __new_sem_init, sem_init, GLIBC_2_34); +#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_1, GLIBC_2_34) +compat_symbol (libpthread, __new_sem_init, sem_init, GLIBC_2_1); +#endif -#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1) +#if OTHER_SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1) int attribute_compat_text_section __old_sem_init (sem_t *sem, int pshared, unsigned int value) diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index a6bc62b515..8ce12a9a8d 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -1663,6 +1663,7 @@ GLIBC_2.17 select F GLIBC_2.17 sem_close F GLIBC_2.17 sem_destroy F GLIBC_2.17 sem_getvalue F +GLIBC_2.17 sem_init F GLIBC_2.17 sem_open F GLIBC_2.17 semctl F GLIBC_2.17 semget F @@ -2355,6 +2356,7 @@ GLIBC_2.34 sem_clockwait F GLIBC_2.34 sem_close F GLIBC_2.34 sem_destroy F GLIBC_2.34 sem_getvalue F +GLIBC_2.34 sem_init F GLIBC_2.34 sem_open F GLIBC_2.34 thrd_exit F GLIBC_2.34 tss_create F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 87bcb6bd08..cc05c4ec42 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -39,7 +39,6 @@ GLIBC_2.17 pthread_setschedprio F GLIBC_2.17 pthread_sigqueue F GLIBC_2.17 pthread_timedjoin_np F GLIBC_2.17 pthread_tryjoin_np F -GLIBC_2.17 sem_init F GLIBC_2.17 sem_post F GLIBC_2.17 sem_timedwait F GLIBC_2.17 sem_trywait F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index e9a402474e..355e6ee05c 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -1013,6 +1013,7 @@ GLIBC_2.0 seekdir F GLIBC_2.0 select F GLIBC_2.0 sem_destroy F GLIBC_2.0 sem_getvalue F +GLIBC_2.0 sem_init F GLIBC_2.0 semctl F GLIBC_2.0 semget F GLIBC_2.0 semop F @@ -1638,6 +1639,7 @@ GLIBC_2.1 scandir64 F GLIBC_2.1 select F GLIBC_2.1 sem_destroy F GLIBC_2.1 sem_getvalue F +GLIBC_2.1 sem_init F GLIBC_2.1 sendfile F GLIBC_2.1 setitimer F GLIBC_2.1 setrlimit64 F @@ -2438,6 +2440,7 @@ GLIBC_2.34 sem_clockwait F GLIBC_2.34 sem_close F GLIBC_2.34 sem_destroy F GLIBC_2.34 sem_getvalue F +GLIBC_2.34 sem_init F GLIBC_2.34 sem_open F GLIBC_2.34 thrd_exit F GLIBC_2.34 tss_create F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 37eba5d526..04dca3fb17 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -9,7 +9,6 @@ GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F -GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F @@ -22,7 +21,6 @@ GLIBC_2.1 pthread_attr_setstacksize F GLIBC_2.1 pthread_create F GLIBC_2.1 pthread_getconcurrency F GLIBC_2.1 pthread_setconcurrency F -GLIBC_2.1 sem_init F GLIBC_2.1 sem_post F GLIBC_2.1 sem_trywait F GLIBC_2.1 sem_wait F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index e78867eb11..951fbad9b2 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -1605,6 +1605,7 @@ GLIBC_2.32 sem_clockwait F GLIBC_2.32 sem_close F GLIBC_2.32 sem_destroy F GLIBC_2.32 sem_getvalue F +GLIBC_2.32 sem_init F GLIBC_2.32 sem_open F GLIBC_2.32 semctl F GLIBC_2.32 semget F @@ -2114,6 +2115,7 @@ GLIBC_2.34 sem_clockwait F GLIBC_2.34 sem_close F GLIBC_2.34 sem_destroy F GLIBC_2.34 sem_getvalue F +GLIBC_2.34 sem_init F GLIBC_2.34 sem_open F GLIBC_2.34 thrd_exit F GLIBC_2.34 tss_create F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 0d2b6878f0..620aa737af 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -42,7 +42,6 @@ GLIBC_2.32 pthread_setschedprio F GLIBC_2.32 pthread_sigqueue F GLIBC_2.32 pthread_timedjoin_np F GLIBC_2.32 pthread_tryjoin_np F -GLIBC_2.32 sem_init F GLIBC_2.32 sem_post F GLIBC_2.32 sem_timedwait F GLIBC_2.32 sem_trywait F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 52746863ef..5274af4d18 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/ |
