diff options
65 files changed, 147 insertions, 64 deletions
diff --git a/rt/Makefile b/rt/Makefile index ec2aff9ce4..29c9aa5f05 100644 --- a/rt/Makefile +++ b/rt/Makefile @@ -29,7 +29,6 @@ routines = \ shm_unlink \ librt-routines = \ - aio_return \ aio_suspend \ aio_write \ aio_write64 \ @@ -62,6 +61,7 @@ $(librt-routines-var) += \ aio_notify \ aio_read \ aio_read64 \ + aio_return \ aio_sigqueue \ tests := tst-shm tst-timer tst-timer2 \ diff --git a/rt/Versions b/rt/Versions index 6db40bebc4..0780dc8400 100644 --- a/rt/Versions +++ b/rt/Versions @@ -10,6 +10,8 @@ libc { aio_fsync64; aio_read; aio_read64; + aio_return; + aio_return64; %endif } GLIBC_2.2 { @@ -27,6 +29,8 @@ libc { aio_fsync64; aio_read; aio_read64; + aio_return; + aio_return64; %endif shm_open; shm_unlink; @@ -57,9 +61,9 @@ librt { aio_init; aio_read; aio_read64; -%endif aio_return; aio_return64; +%endif aio_suspend; aio_suspend64; aio_write; diff --git a/rt/aio_return.c b/rt/aio_return.c index cc50719dcb..a7a0b141d2 100644 --- a/rt/aio_return.c +++ b/rt/aio_return.c @@ -28,11 +28,22 @@ /* And undo the hack. */ #undef aio_return64 +#include <shlib-compat.h> ssize_t -aio_return (struct aiocb *aiocbp) +__aio_return (struct aiocb *aiocbp) { return aiocbp->__return_value; } -weak_alias (aio_return, aio_return64) +#if PTHREAD_IN_LIBC +versioned_symbol (libc, __aio_return, aio_return, GLIBC_2_34); +versioned_symbol (libc, __aio_return, aio_return64, GLIBC_2_34); +# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34) +compat_symbol (librt, __aio_return, aio_return, GLIBC_2_1); +compat_symbol (librt, __aio_return, aio_return64, GLIBC_2_1); +# endif +#else /* !PTHREAD_IN_LIBC */ +strong_alias (__aio_return, aio_return) +weak_alias (__aio_return, aio_return64) +#endif diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index d210f88f0e..79405d26e9 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -598,6 +598,8 @@ GLIBC_2.17 aio_fsync64 F GLIBC_2.17 aio_init F GLIBC_2.17 aio_read F GLIBC_2.17 aio_read64 F +GLIBC_2.17 aio_return F +GLIBC_2.17 aio_return64 F GLIBC_2.17 alarm F GLIBC_2.17 aligned_alloc F GLIBC_2.17 alphasort F @@ -2366,6 +2368,8 @@ GLIBC_2.34 aio_fsync64 F GLIBC_2.34 aio_init F GLIBC_2.34 aio_read F GLIBC_2.34 aio_read64 F +GLIBC_2.34 aio_return F +GLIBC_2.34 aio_return64 F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/sysdeps/unix/sysv/linux/aarch64/librt.abilist index 58a853230e..451560dc87 100644 --- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist @@ -1,6 +1,4 @@ GLIBC_2.17 __mq_open_2 F -GLIBC_2.17 aio_return F -GLIBC_2.17 aio_return64 F GLIBC_2.17 aio_suspend F GLIBC_2.17 aio_suspend64 F GLIBC_2.17 aio_write F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 08ea11c9fe..f6fa8966f8 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -1511,6 +1511,8 @@ GLIBC_2.1 aio_fsync64 F GLIBC_2.1 aio_init F GLIBC_2.1 aio_read F GLIBC_2.1 aio_read64 F +GLIBC_2.1 aio_return F +GLIBC_2.1 aio_return64 F GLIBC_2.1 alphasort64 F GLIBC_2.1 argp_err_exit_status D 0x4 GLIBC_2.1 argp_error F @@ -2461,6 +2463,8 @@ GLIBC_2.34 aio_fsync64 F GLIBC_2.34 aio_init F GLIBC_2.34 aio_read F GLIBC_2.34 aio_read64 F +GLIBC_2.34 aio_return F +GLIBC_2.34 aio_return64 F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist index 2afa483191..90a66e4a4b 100644 --- a/sysdeps/unix/sysv/linux/alpha/librt.abilist +++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist @@ -1,5 +1,3 @@ -GLIBC_2.1 aio_return F -GLIBC_2.1 aio_return64 F GLIBC_2.1 aio_suspend F GLIBC_2.1 aio_suspend64 F GLIBC_2.1 aio_write F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 817c4c6ff0..a5c1df7eaf 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -559,6 +559,8 @@ GLIBC_2.32 aio_fsync64 F GLIBC_2.32 aio_init F GLIBC_2.32 aio_read F GLIBC_2.32 aio_read64 F +GLIBC_2.32 aio_return F +GLIBC_2.32 aio_return64 F GLIBC_2.32 alarm F GLIBC_2.32 aligned_alloc F GLIBC_2.32 alphasort F @@ -2125,6 +2127,8 @@ GLIBC_2.34 aio_fsync64 F GLIBC_2.34 aio_init F GLIBC_2.34 aio_read F GLIBC_2.34 aio_read64 F +GLIBC_2.34 aio_return F +GLIBC_2.34 aio_return64 F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist index e49be2ff36..9cac9c759b 100644 --- a/sysdeps/unix/sysv/linux/arc/librt.abilist +++ b/sysdeps/unix/sysv/linux/arc/librt.abilist @@ -1,6 +1,4 @@ GLIBC_2.32 __mq_open_2 F -GLIBC_2.32 aio_return F -GLIBC_2.32 aio_return64 F GLIBC_2.32 aio_suspend F GLIBC_2.32 aio_suspend64 F GLIBC_2.32 aio_write F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 0be92527af..1928717cfd 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -287,6 +287,8 @@ GLIBC_2.34 aio_fsync64 F GLIBC_2.34 aio_init F GLIBC_2.34 aio_read F GLIBC_2.34 aio_read64 F +GLIBC_2.34 aio_return F +GLIBC_2.34 aio_return64 F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_destroy F @@ -999,6 +1001,8 @@ GLIBC_2.4 aio_fsync64 F GLIBC_2.4 aio_init F GLIBC_2.4 aio_read F GLIBC_2.4 aio_read64 F +GLIBC_2.4 aio_return F +GLIBC_2.4 aio_return64 F GLIBC_2.4 alarm F G |
