[21/34] Linux: Move mq_setattr from librt to libc

Message ID 8e762ef150b8a2b00814ad60ef00ed2488e9b327.1623956057.git.fweimer@redhat.com
State Committed
Delegated to: Adhemerval Zanella Netto
Headers
Series Move librt into libc |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Florian Weimer June 17, 2021, 6:58 p.m. UTC
  The symbol was moved using scripts/move-symbol-to-libc.py.

To introduce the proper symbol versioning, the implementation of
the system call wrapper us moved to a C file.
---
 include/mqueue.h                              |  7 ++++
 rt/Makefile                                   |  2 +-
 rt/Versions                                   |  4 ++-
 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 -
 .../sysv/linux/m68k/coldfire/libc.abilist     |  2 ++
 .../sysv/linux/m68k/coldfire/librt.abilist    |  1 -
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  2 ++
 .../unix/sysv/linux/m68k/m680x0/librt.abilist |  1 -
 .../sysv/linux/microblaze/be/libc.abilist     |  2 ++
 .../sysv/linux/microblaze/be/librt.abilist    |  1 -
 .../sysv/linux/microblaze/le/libc.abilist     |  2 ++
 .../sysv/linux/microblaze/le/librt.abilist    |  1 -
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  2 ++
 .../unix/sysv/linux/mips/mips32/librt.abilist |  1 -
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 ++
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++
 .../sysv/linux/mips/mips64/n32/librt.abilist  |  1 -
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
 .../sysv/linux/mips/mips64/n64/librt.abilist  |  1 -
 sysdeps/unix/sysv/linux/mq_setattr.c          | 33 +++++++++++++++++++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  2 ++
 sysdeps/unix/sysv/linux/nios2/librt.abilist   |  1 -
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  2 ++
 .../linux/powerpc/powerpc32/librt.abilist     |  1 -
 .../powerpc/powerpc32/nofpu/libc.abilist      |  2 ++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  2 ++
 .../linux/powerpc/powerpc64/be/librt.abilist  |  1 -
 .../linux/powerpc/powerpc64/le/libc.abilist   |  2 ++
 .../linux/powerpc/powerpc64/le/librt.abilist  |  1 -
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  2 ++
 .../unix/sysv/linux/riscv/rv32/librt.abilist  |  1 -
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  2 ++
 .../unix/sysv/linux/riscv/rv64/librt.abilist  |  1 -
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  2 ++
 .../sysv/linux/s390/s390-32/librt.abilist     |  1 -
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  2 ++
 .../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 -
 .../sysv/linux/sparc/sparc32/libc.abilist     |  2 ++
 .../sysv/linux/sparc/sparc32/librt.abilist    |  1 -
 .../sysv/linux/sparc/sparc64/libc.abilist     |  2 ++
 .../sysv/linux/sparc/sparc64/librt.abilist    |  1 -
 sysdeps/unix/sysv/linux/syscalls.list         |  2 --
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  2 ++
 .../unix/sysv/linux/x86_64/64/librt.abilist   |  1 -
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  2 ++
 .../unix/sysv/linux/x86_64/x32/librt.abilist  |  1 -
 67 files changed, 108 insertions(+), 34 deletions(-)
 create mode 100644 sysdeps/unix/sysv/linux/mq_setattr.c
  

Comments

Adhemerval Zanella June 24, 2021, 2:02 p.m. UTC | #1
On 17/06/2021 15:58, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.
> 
> To introduce the proper symbol versioning, the implementation of
> the system call wrapper us moved to a C file.

LGTM, thanks.

Reviewed-by: Adhemerva Zanella  <adhemerval.zanella@linaro.org>

> ---
>  include/mqueue.h                              |  7 ++++
>  rt/Makefile                                   |  2 +-
>  rt/Versions                                   |  4 ++-
>  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 -
>  .../sysv/linux/m68k/coldfire/libc.abilist     |  2 ++
>  .../sysv/linux/m68k/coldfire/librt.abilist    |  1 -
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  2 ++
>  .../unix/sysv/linux/m68k/m680x0/librt.abilist |  1 -
>  .../sysv/linux/microblaze/be/libc.abilist     |  2 ++
>  .../sysv/linux/microblaze/be/librt.abilist    |  1 -
>  .../sysv/linux/microblaze/le/libc.abilist     |  2 ++
>  .../sysv/linux/microblaze/le/librt.abilist    |  1 -
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  2 ++
>  .../unix/sysv/linux/mips/mips32/librt.abilist |  1 -
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 ++
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips64/n32/librt.abilist  |  1 -
>  .../sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
>  .../sysv/linux/mips/mips64/n64/librt.abilist  |  1 -
>  sysdeps/unix/sysv/linux/mq_setattr.c          | 33 +++++++++++++++++++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  2 ++
>  sysdeps/unix/sysv/linux/nios2/librt.abilist   |  1 -
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  2 ++
>  .../linux/powerpc/powerpc32/librt.abilist     |  1 -
>  .../powerpc/powerpc32/nofpu/libc.abilist      |  2 ++
>  .../linux/powerpc/powerpc64/be/libc.abilist   |  2 ++
>  .../linux/powerpc/powerpc64/be/librt.abilist  |  1 -
>  .../linux/powerpc/powerpc64/le/libc.abilist   |  2 ++
>  .../linux/powerpc/powerpc64/le/librt.abilist  |  1 -
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  2 ++
>  .../unix/sysv/linux/riscv/rv32/librt.abilist  |  1 -
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |  2 ++
>  .../unix/sysv/linux/riscv/rv64/librt.abilist  |  1 -
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  2 ++
>  .../sysv/linux/s390/s390-32/librt.abilist     |  1 -
>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  2 ++
>  .../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 -
>  .../sysv/linux/sparc/sparc32/libc.abilist     |  2 ++
>  .../sysv/linux/sparc/sparc32/librt.abilist    |  1 -
>  .../sysv/linux/sparc/sparc64/libc.abilist     |  2 ++
>  .../sysv/linux/sparc/sparc64/librt.abilist    |  1 -
>  sysdeps/unix/sysv/linux/syscalls.list         |  2 --
>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/x86_64/64/librt.abilist   |  1 -
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  2 ++
>  .../unix/sysv/linux/x86_64/x32/librt.abilist  |  1 -
>  67 files changed, 108 insertions(+), 34 deletions(-)
>  create mode 100644 sysdeps/unix/sysv/linux/mq_setattr.c
> 
> diff --git a/include/mqueue.h b/include/mqueue.h
> index 98e4596c22..008589f0fa 100644
> --- a/include/mqueue.h
> +++ b/include/mqueue.h
> @@ -8,8 +8,15 @@ hidden_proto (__mq_timedsend)
>  hidden_proto (mq_timedreceive)
>  extern __typeof (mq_timedreceive) __mq_timedreceive __nonnull ((2, 5));
>  hidden_proto (__mq_timedreceive)
> +#  if !PTHREAD_IN_LIBC
>  hidden_proto (mq_setattr)
> +#  endif
> +# endif /* IS_IN (librt) */
> +
> +# if PTHREAD_IN_LIBC
> +libc_hidden_proto (mq_setattr)
>  # endif
> +
>  #include <struct___timespec64.h>
>  #if __TIMESIZE == 64
>  # define __mq_timedsend_time64 __mq_timedsend

Ok.

> diff --git a/rt/Makefile b/rt/Makefile
> index 4ac93b2365..67c4e74a56 100644
> --- a/rt/Makefile
> +++ b/rt/Makefile
> @@ -35,7 +35,6 @@ librt-routines = \
>    mq_open \
>    mq_receive \
>    mq_send \
> -  mq_setattr \
>    mq_timedreceive \
>    mq_timedsend \
>    mq_unlink \
> @@ -63,6 +62,7 @@ $(librt-routines-var) += \
>    lio_listio \
>    lio_listio64 \
>    mq_close \
> +  mq_setattr \
>  
>  tests := tst-shm tst-timer tst-timer2 \
>  	 tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \

Ok.

> diff --git a/rt/Versions b/rt/Versions
> index d38b95b090..01ac8cd0be 100644
> --- a/rt/Versions
> +++ b/rt/Versions
> @@ -27,6 +27,7 @@ libc {
>    GLIBC_2.3.4 {
>  %if PTHREAD_IN_LIBC
>      mq_close;
> +    mq_setattr;
>  %endif
>    }
>    GLIBC_2.4 {
> @@ -55,6 +56,7 @@ libc {
>      lio_listio;
>      lio_listio64;
>      mq_close;
> +    mq_setattr;
>  %endif
>      shm_open;
>      shm_unlink;
> @@ -107,13 +109,13 @@ librt {
>    GLIBC_2.3.4 {
>  %if !PTHREAD_IN_LIBC
>      mq_close;
> +    mq_setattr;
>  %endif
>      mq_getattr;
>      mq_notify;
>      mq_open;
>      mq_receive;
>      mq_send;
> -    mq_setattr;
>      mq_timedreceive;
>      mq_timedsend;
>      mq_unlink;

Ok.

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 80390d58c5..4bc3bd5ffb 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1358,6 +1358,7 @@ GLIBC_2.17 mount F
>  GLIBC_2.17 mprobe F
>  GLIBC_2.17 mprotect F
>  GLIBC_2.17 mq_close F
> +GLIBC_2.17 mq_setattr F
>  GLIBC_2.17 mrand48 F
>  GLIBC_2.17 mrand48_r F
>  GLIBC_2.17 mremap F
> @@ -2401,6 +2402,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
> index 0f95d65af6..5577602ea8 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.17 mq_notify F
>  GLIBC_2.17 mq_open F
>  GLIBC_2.17 mq_receive F
>  GLIBC_2.17 mq_send F
> -GLIBC_2.17 mq_setattr F
>  GLIBC_2.17 mq_timedreceive F
>  GLIBC_2.17 mq_timedsend F
>  GLIBC_2.17 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 02ab437a03..f991411721 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2393,6 +2393,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2496,6 +2497,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist
> index 960db11285..59e770d345 100644
> --- a/sysdeps/unix/sysv/linux/alpha/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist
> @@ -15,7 +15,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index cc26e87959..d71034a0a4 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1289,6 +1289,7 @@ GLIBC_2.32 mount F
>  GLIBC_2.32 mprobe F
>  GLIBC_2.32 mprotect F
>  GLIBC_2.32 mq_close F
> +GLIBC_2.32 mq_setattr F
>  GLIBC_2.32 mrand48 F
>  GLIBC_2.32 mrand48_r F
>  GLIBC_2.32 mremap F
> @@ -2160,6 +2161,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist
> index 8d99f1fd34..6d4a02edac 100644
> --- a/sysdeps/unix/sysv/linux/arc/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/librt.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.32 mq_notify F
>  GLIBC_2.32 mq_open F
>  GLIBC_2.32 mq_receive F
>  GLIBC_2.32 mq_send F
> -GLIBC_2.32 mq_setattr F
>  GLIBC_2.32 mq_timedreceive F
>  GLIBC_2.32 mq_timedsend F
>  GLIBC_2.32 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index bf0e6dd046..753d824fb6 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -314,6 +314,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> @@ -1728,6 +1729,7 @@ GLIBC_2.4 mount F
>  GLIBC_2.4 mprobe F
>  GLIBC_2.4 mprotect F
>  GLIBC_2.4 mq_close F
> +GLIBC_2.4 mq_setattr F
>  GLIBC_2.4 mrand48 F
>  GLIBC_2.4 mrand48_r F
>  GLIBC_2.4 mremap F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/librt.abilist b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
> index a7a3efd732..1e9b5a4dfb 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.4 mq_notify F
>  GLIBC_2.4 mq_open F
>  GLIBC_2.4 mq_receive F
>  GLIBC_2.4 mq_send F
> -GLIBC_2.4 mq_setattr F
>  GLIBC_2.4 mq_timedreceive F
>  GLIBC_2.4 mq_timedsend F
>  GLIBC_2.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 69149e1e31..a71fc473c5 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -311,6 +311,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> @@ -1725,6 +1726,7 @@ GLIBC_2.4 mount F
>  GLIBC_2.4 mprobe F
>  GLIBC_2.4 mprotect F
>  GLIBC_2.4 mq_close F
> +GLIBC_2.4 mq_setattr F
>  GLIBC_2.4 mrand48 F
>  GLIBC_2.4 mrand48_r F
>  GLIBC_2.4 mremap F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/librt.abilist b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
> index a7a3efd732..1e9b5a4dfb 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.4 mq_notify F
>  GLIBC_2.4 mq_open F
>  GLIBC_2.4 mq_receive F
>  GLIBC_2.4 mq_send F
> -GLIBC_2.4 mq_setattr F
>  GLIBC_2.4 mq_timedreceive F
>  GLIBC_2.4 mq_timedsend F
>  GLIBC_2.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 24a8e779ef..924377d21d 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1344,6 +1344,7 @@ GLIBC_2.29 mount F
>  GLIBC_2.29 mprobe F
>  GLIBC_2.29 mprotect F
>  GLIBC_2.29 mq_close F
> +GLIBC_2.29 mq_setattr F
>  GLIBC_2.29 mrand48 F
>  GLIBC_2.29 mrand48_r F
>  GLIBC_2.29 mremap F
> @@ -2421,6 +2422,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/csky/librt.abilist b/sysdeps/unix/sysv/linux/csky/librt.abilist
> index f8439e803c..5ded0dc421 100644
> --- a/sysdeps/unix/sysv/linux/csky/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/librt.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.29 mq_notify F
>  GLIBC_2.29 mq_open F
>  GLIBC_2.29 mq_receive F
>  GLIBC_2.29 mq_send F
> -GLIBC_2.29 mq_setattr F
>  GLIBC_2.29 mq_timedreceive F
>  GLIBC_2.29 mq_timedsend F
>  GLIBC_2.29 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 108624e7d0..df153c161d 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2207,6 +2207,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2375,6 +2376,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist b/sysdeps/unix/sysv/linux/hppa/librt.abilist
> index 2830671cbd..73eb37021f 100644
> --- a/sysdeps/unix/sysv/linux/hppa/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist
> @@ -9,7 +9,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index b261de5045..0dc4c677be 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2388,6 +2388,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2559,6 +2560,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/i386/librt.abilist b/sysdeps/unix/sysv/linux/i386/librt.abilist
> index 2830671cbd..73eb37021f 100644
> --- a/sysdeps/unix/sysv/linux/i386/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/librt.abilist
> @@ -9,7 +9,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index ae3d1362b4..ddc9db0d2c 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -2242,6 +2242,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2334,6 +2335,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/ia64/librt.abilist b/sysdeps/unix/sysv/linux/ia64/librt.abilist
> index 71fa79869e..2e8a0d4c82 100644
> --- a/sysdeps/unix/sysv/linux/ia64/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist
> @@ -14,7 +14,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 719ad8c4cd..2f078539d4 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -315,6 +315,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> @@ -1712,6 +1713,7 @@ GLIBC_2.4 mount F
>  GLIBC_2.4 mprobe F
>  GLIBC_2.4 mprotect F
>  GLIBC_2.4 mq_close F
> +GLIBC_2.4 mq_setattr F
>  GLIBC_2.4 mrand48 F
>  GLIBC_2.4 mrand48_r F
>  GLIBC_2.4 mremap F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
> index a7a3efd732..1e9b5a4dfb 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
> @@ -7,7 +7,6 @@ GLIBC_2.4 mq_notify F
>  GLIBC_2.4 mq_open F
>  GLIBC_2.4 mq_receive F
>  GLIBC_2.4 mq_send F
> -GLIBC_2.4 mq_setattr F
>  GLIBC_2.4 mq_timedreceive F
>  GLIBC_2.4 mq_timedsend F
>  GLIBC_2.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index d9ebe5ff51..457001393e 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2331,6 +2331,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2502,6 +2503,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
> index 2830671cbd..73eb37021f 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
> @@ -9,7 +9,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 7baacb6ac0..e0cff30061 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1360,6 +1360,7 @@ GLIBC_2.18 mount F
>  GLIBC_2.18 mprobe F
>  GLIBC_2.18 mprotect F
>  GLIBC_2.18 mq_close F
> +GLIBC_2.18 mq_setattr F
>  GLIBC_2.18 mrand48 F
>  GLIBC_2.18 mrand48_r F
>  GLIBC_2.18 mremap F
> @@ -2472,6 +2473,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
> index 826842df14..c42d6f70be 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.18 mq_notify F
>  GLIBC_2.18 mq_open F
>  GLIBC_2.18 mq_receive F
>  GLIBC_2.18 mq_send F
> -GLIBC_2.18 mq_setattr F
>  GLIBC_2.18 mq_timedreceive F
>  GLIBC_2.18 mq_timedsend F
>  GLIBC_2.18 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index b7cf9054f5..697298a2bb 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1360,6 +1360,7 @@ GLIBC_2.18 mount F
>  GLIBC_2.18 mprobe F
>  GLIBC_2.18 mprotect F
>  GLIBC_2.18 mq_close F
> +GLIBC_2.18 mq_setattr F
>  GLIBC_2.18 mrand48 F
>  GLIBC_2.18 mrand48_r F
>  GLIBC_2.18 mremap F
> @@ -2469,6 +2470,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
> index 826842df14..c42d6f70be 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.18 mq_notify F
>  GLIBC_2.18 mq_open F
>  GLIBC_2.18 mq_receive F
>  GLIBC_2.18 mq_send F
> -GLIBC_2.18 mq_setattr F
>  GLIBC_2.18 mq_timedreceive F
>  GLIBC_2.18 mq_timedsend F
>  GLIBC_2.18 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 0055c850c1..529d002804 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2299,6 +2299,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2467,6 +2468,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
> index b9908f3752..66ace7f63f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
> @@ -8,7 +8,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index d1c756a5b6..14343fdd69 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2297,6 +2297,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2465,6 +2466,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 6a3275d75f..af1379fcd5 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2305,6 +2305,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2473,6 +2474,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
> index b9908f3752..66ace7f63f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
> @@ -8,7 +8,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 026d6f0c34..ed0e42ddf4 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2299,6 +2299,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2390,6 +2391,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
> index df7de1fd21..6957efa4dd 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
> @@ -8,7 +8,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F

Ok.

> diff --git a/sysdeps/unix/sysv/linux/mq_setattr.c b/sysdeps/unix/sysv/linux/mq_setattr.c
> new file mode 100644
> index 0000000000..9631aa5da6
> --- /dev/null
> +++ b/sysdeps/unix/sysv/linux/mq_setattr.c
> @@ -0,0 +1,33 @@
> +/* mq_setattr system call wrapper.
> +   Copyright (C) 2021 Free Software Foundation, Inc.
> +   This file is part of the GNU C Library.
> +
> +   The GNU C Library is free software; you can redistribute it and/or
> +   modify it under the terms of the GNU Lesser General Public
> +   License as published by the Free Software Foundation; either
> +   version 2.1 of the License, or (at your option) any later version.
> +
> +   The GNU C Library is distributed in the hope that it will be useful,
> +   but WITHOUT ANY WARRANTY; without even the implied warranty of
> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> +   Lesser General Public License for more details.
> +
> +   You should have received a copy of the GNU Lesser General Public
> +   License along with the GNU C Library; if not, see
> +   <https://www.gnu.org/licenses/>.  */
> +
> +#include <mqueue.h>
> +#include <shlib-compat.h>
> +#include <sysdep.h>
> +
> +int
> +__mq_setattr (mqd_t mqdes, const struct mq_attr *__restrict mqstat,
> +              struct mq_attr *__restrict omqstat)

I think there is no need to use reserved identifiers here, so we can
use 'restrict' directly.

> +{
> +  return INLINE_SYSCALL_CALL (mq_getsetattr, mqdes, mqstat, omqstat);
> +}
> +versioned_symbol (libc, __mq_setattr, mq_setattr, GLIBC_2_34);
> +libc_hidden_ver (__mq_setattr, mq_setattr)
> +#if OTHER_SHLIB_COMPAT (librt, GLIBC_2_3_4, GLIBC_2_34)
> +compat_symbol (librt, __mq_setattr, mq_setattr, GLIBC_2_3_4);
> +#endif

Ok.

> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index de7e07f62f..53f30a93fa 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1403,6 +1403,7 @@ GLIBC_2.21 mount F
>  GLIBC_2.21 mprobe F
>  GLIBC_2.21 mprotect F
>  GLIBC_2.21 mq_close F
> +GLIBC_2.21 mq_setattr F
>  GLIBC_2.21 mrand48 F
>  GLIBC_2.21 mrand48_r F
>  GLIBC_2.21 mremap F
> @@ -2511,6 +2512,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/librt.abilist b/sysdeps/unix/sysv/linux/nios2/librt.abilist
> index 8d7a95d6ac..c6d440aea4 100644
> --- a/sysdeps/unix/sysv/linux/nios2/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.21 mq_notify F
>  GLIBC_2.21 mq_open F
>  GLIBC_2.21 mq_receive F
>  GLIBC_2.21 mq_send F
> -GLIBC_2.21 mq_setattr F
>  GLIBC_2.21 mq_timedreceive F
>  GLIBC_2.21 mq_timedsend F
>  GLIBC_2.21 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 11bca22288..eeb6d57f25 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2345,6 +2345,7 @@ GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 longjmp F
>  GLIBC_2.3.4 makecontext F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2529,6 +2530,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
> index 2830671cbd..73eb37021f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
> @@ -9,7 +9,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 23823f46cf..afa5274916 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2378,6 +2378,7 @@ GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 longjmp F
>  GLIBC_2.3.4 makecontext F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2562,6 +2563,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index d4c732e826..a01854490b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -2191,6 +2191,7 @@ GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 longjmp F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2298,6 +2299,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
> index e20095d937..0534a11718 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
> @@ -13,7 +13,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index cf2f48704b..476ebab28f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1446,6 +1446,7 @@ GLIBC_2.17 mount F
>  GLIBC_2.17 mprobe F
>  GLIBC_2.17 mprotect F
>  GLIBC_2.17 mq_close F
> +GLIBC_2.17 mq_setattr F
>  GLIBC_2.17 mrand48 F
>  GLIBC_2.17 mrand48_r F
>  GLIBC_2.17 mremap F
> @@ -2597,6 +2598,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
> index 0f95d65af6..5577602ea8 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.17 mq_notify F
>  GLIBC_2.17 mq_open F
>  GLIBC_2.17 mq_receive F
>  GLIBC_2.17 mq_send F
> -GLIBC_2.17 mq_setattr F
>  GLIBC_2.17 mq_timedreceive F
>  GLIBC_2.17 mq_timedsend F
>  GLIBC_2.17 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index f731932abf..48882415a6 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1291,6 +1291,7 @@ GLIBC_2.33 mount F
>  GLIBC_2.33 mprobe F
>  GLIBC_2.33 mprotect F
>  GLIBC_2.33 mq_close F
> +GLIBC_2.33 mq_setattr F
>  GLIBC_2.33 mrand48 F
>  GLIBC_2.33 mrand48_r F
>  GLIBC_2.33 mremap F
> @@ -2162,6 +2163,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
> index 1b681c4f40..fc8a2d3353 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.33 mq_notify F
>  GLIBC_2.33 mq_open F
>  GLIBC_2.33 mq_receive F
>  GLIBC_2.33 mq_send F
> -GLIBC_2.33 mq_setattr F
>  GLIBC_2.33 mq_timedreceive F
>  GLIBC_2.33 mq_timedsend F
>  GLIBC_2.33 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 5dbfcd8d85..006d0c911d 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1341,6 +1341,7 @@ GLIBC_2.27 mount F
>  GLIBC_2.27 mprobe F
>  GLIBC_2.27 mprotect F
>  GLIBC_2.27 mq_close F
> +GLIBC_2.27 mq_setattr F
>  GLIBC_2.27 mrand48 F
>  GLIBC_2.27 mrand48_r F
>  GLIBC_2.27 mremap F
> @@ -2362,6 +2363,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
> index 05a7e7ab00..85c6dfae23 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.27 mq_notify F
>  GLIBC_2.27 mq_open F
>  GLIBC_2.27 mq_receive F
>  GLIBC_2.27 mq_send F
> -GLIBC_2.27 mq_setattr F
>  GLIBC_2.27 mq_timedreceive F
>  GLIBC_2.27 mq_timedsend F
>  GLIBC_2.27 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index b84e794be5..0f5a0ebb1c 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2344,6 +2344,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2527,6 +2528,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
> index 2830671cbd..73eb37021f 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
> @@ -9,7 +9,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 5e500fc41b..4aa1a9fa74 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -2232,6 +2232,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2335,6 +2336,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
> index eaf9985930..7bc6c2d4e6 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
> @@ -13,7 +13,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 5eacb42a61..db1f29d905 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2211,6 +2211,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2382,6 +2383,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/librt.abilist b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
> index 2830671cbd..73eb37021f 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
> @@ -9,7 +9,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 1e6e234774..961d2b66e0 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2211,6 +2211,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2379,6 +2380,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/librt.abilist b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
> index 2830671cbd..73eb37021f 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
> @@ -9,7 +9,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index c641491014..d70c6499a8 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2342,6 +2342,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2522,6 +2523,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
> index d7bd3edad5..36b9ea794f 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
> @@ -10,7 +10,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 834aaa1cb6..9f18195c9d 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2266,6 +2266,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2357,6 +2358,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
> index 960db11285..59e770d345 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
> @@ -15,7 +15,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
> index 01ec2bfa95..62329abb49 100644
> --- a/sysdeps/unix/sysv/linux/syscalls.list
> +++ b/sysdeps/unix/sysv/linux/syscalls.list
> @@ -86,8 +86,6 @@ removexattr	-	removexattr	i:ss	removexattr
>  lremovexattr	-	lremovexattr	i:ss	lremovexattr
>  fremovexattr	-	fremovexattr	i:is	fremovexattr
>  
> -mq_setattr	-	mq_getsetattr	i:ipp	mq_setattr
> -
>  timerfd_create	EXTRA	timerfd_create	i:ii	timerfd_create
>  
>  fanotify_init	EXTRA	fanotify_init	i:ii	fanotify_init
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 3f17a41c66..05c1f47233 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -2220,6 +2220,7 @@ GLIBC_2.3.4 dlmopen F
>  GLIBC_2.3.4 getipv4sourcefilter F
>  GLIBC_2.3.4 getsourcefilter F
>  GLIBC_2.3.4 mq_close 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
>  GLIBC_2.3.4 pthread_getaffinity_np F
> @@ -2313,6 +2314,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
> index 6b8d77f1a7..d7e5e48295 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
> @@ -13,7 +13,6 @@ 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
> -GLIBC_2.3.4 mq_setattr F
>  GLIBC_2.3.4 mq_timedreceive F
>  GLIBC_2.3.4 mq_timedsend F
>  GLIBC_2.3.4 mq_unlink F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 5ea3b75384..b839033cde 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1365,6 +1365,7 @@ GLIBC_2.16 mount F
>  GLIBC_2.16 mprobe F
>  GLIBC_2.16 mprotect F
>  GLIBC_2.16 mq_close F
> +GLIBC_2.16 mq_setattr F
>  GLIBC_2.16 mrand48 F
>  GLIBC_2.16 mrand48_r F
>  GLIBC_2.16 mremap F
> @@ -2416,6 +2417,7 @@ GLIBC_2.34 execveat F
>  GLIBC_2.34 lio_listio F
>  GLIBC_2.34 lio_listio64 F
>  GLIBC_2.34 mq_close F
> +GLIBC_2.34 mq_setattr F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
> index 660f1de033..24c03ebc8b 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
> @@ -4,7 +4,6 @@ GLIBC_2.16 mq_notify F
>  GLIBC_2.16 mq_open F
>  GLIBC_2.16 mq_receive F
>  GLIBC_2.16 mq_send F
> -GLIBC_2.16 mq_setattr F
>  GLIBC_2.16 mq_timedreceive F
>  GLIBC_2.16 mq_timedsend F
>  GLIBC_2.16 mq_unlink F
> 

Ok.
  
Florian Weimer June 25, 2021, 10:02 a.m. UTC | #2
* Adhemerval Zanella:

>> +int
>> +__mq_setattr (mqd_t mqdes, const struct mq_attr *__restrict mqstat,
>> +              struct mq_attr *__restrict omqstat)
>
> I think there is no need to use reserved identifiers here, so we can
> use 'restrict' directly.

It's meaningless anyway given the function body, so I have removed it.

>> +{
>> +  return INLINE_SYSCALL_CALL (mq_getsetattr, mqdes, mqstat, omqstat);
>> +}

Thanks,
Flroian
  

Patch

diff --git a/include/mqueue.h b/include/mqueue.h
index 98e4596c22..008589f0fa 100644
--- a/include/mqueue.h
+++ b/include/mqueue.h
@@ -8,8 +8,15 @@  hidden_proto (__mq_timedsend)
 hidden_proto (mq_timedreceive)
 extern __typeof (mq_timedreceive) __mq_timedreceive __nonnull ((2, 5));
 hidden_proto (__mq_timedreceive)
+#  if !PTHREAD_IN_LIBC
 hidden_proto (mq_setattr)
+#  endif
+# endif /* IS_IN (librt) */
+
+# if PTHREAD_IN_LIBC
+libc_hidden_proto (mq_setattr)
 # endif
+
 #include <struct___timespec64.h>
 #if __TIMESIZE == 64
 # define __mq_timedsend_time64 __mq_timedsend
diff --git a/rt/Makefile b/rt/Makefile
index 4ac93b2365..67c4e74a56 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -35,7 +35,6 @@  librt-routines = \
   mq_open \
   mq_receive \
   mq_send \
-  mq_setattr \
   mq_timedreceive \
   mq_timedsend \
   mq_unlink \
@@ -63,6 +62,7 @@  $(librt-routines-var) += \
   lio_listio \
   lio_listio64 \
   mq_close \
+  mq_setattr \
 
 tests := tst-shm tst-timer tst-timer2 \
 	 tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \
diff --git a/rt/Versions b/rt/Versions
index d38b95b090..01ac8cd0be 100644
--- a/rt/Versions
+++ b/rt/Versions
@@ -27,6 +27,7 @@  libc {
   GLIBC_2.3.4 {
 %if PTHREAD_IN_LIBC
     mq_close;
+    mq_setattr;
 %endif
   }
   GLIBC_2.4 {
@@ -55,6 +56,7 @@  libc {
     lio_listio;
     lio_listio64;
     mq_close;
+    mq_setattr;
 %endif
     shm_open;
     shm_unlink;
@@ -107,13 +109,13 @@  librt {
   GLIBC_2.3.4 {
 %if !PTHREAD_IN_LIBC
     mq_close;
+    mq_setattr;
 %endif
     mq_getattr;
     mq_notify;
     mq_open;
     mq_receive;
     mq_send;
-    mq_setattr;
     mq_timedreceive;
     mq_timedsend;
     mq_unlink;
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 80390d58c5..4bc3bd5ffb 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1358,6 +1358,7 @@  GLIBC_2.17 mount F
 GLIBC_2.17 mprobe F
 GLIBC_2.17 mprotect F
 GLIBC_2.17 mq_close F
+GLIBC_2.17 mq_setattr F
 GLIBC_2.17 mrand48 F
 GLIBC_2.17 mrand48_r F
 GLIBC_2.17 mremap F
@@ -2401,6 +2402,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
index 0f95d65af6..5577602ea8 100644
--- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
@@ -4,7 +4,6 @@  GLIBC_2.17 mq_notify F
 GLIBC_2.17 mq_open F
 GLIBC_2.17 mq_receive F
 GLIBC_2.17 mq_send F
-GLIBC_2.17 mq_setattr F
 GLIBC_2.17 mq_timedreceive F
 GLIBC_2.17 mq_timedsend F
 GLIBC_2.17 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 02ab437a03..f991411721 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2393,6 +2393,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2496,6 +2497,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist
index 960db11285..59e770d345 100644
--- a/sysdeps/unix/sysv/linux/alpha/librt.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist
@@ -15,7 +15,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index cc26e87959..d71034a0a4 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1289,6 +1289,7 @@  GLIBC_2.32 mount F
 GLIBC_2.32 mprobe F
 GLIBC_2.32 mprotect F
 GLIBC_2.32 mq_close F
+GLIBC_2.32 mq_setattr F
 GLIBC_2.32 mrand48 F
 GLIBC_2.32 mrand48_r F
 GLIBC_2.32 mremap F
@@ -2160,6 +2161,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist
index 8d99f1fd34..6d4a02edac 100644
--- a/sysdeps/unix/sysv/linux/arc/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arc/librt.abilist
@@ -4,7 +4,6 @@  GLIBC_2.32 mq_notify F
 GLIBC_2.32 mq_open F
 GLIBC_2.32 mq_receive F
 GLIBC_2.32 mq_send F
-GLIBC_2.32 mq_setattr F
 GLIBC_2.32 mq_timedreceive F
 GLIBC_2.32 mq_timedsend F
 GLIBC_2.32 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index bf0e6dd046..753d824fb6 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -314,6 +314,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
@@ -1728,6 +1729,7 @@  GLIBC_2.4 mount F
 GLIBC_2.4 mprobe F
 GLIBC_2.4 mprotect F
 GLIBC_2.4 mq_close F
+GLIBC_2.4 mq_setattr F
 GLIBC_2.4 mrand48 F
 GLIBC_2.4 mrand48_r F
 GLIBC_2.4 mremap F
diff --git a/sysdeps/unix/sysv/linux/arm/be/librt.abilist b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
index a7a3efd732..1e9b5a4dfb 100644
--- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
@@ -7,7 +7,6 @@  GLIBC_2.4 mq_notify F
 GLIBC_2.4 mq_open F
 GLIBC_2.4 mq_receive F
 GLIBC_2.4 mq_send F
-GLIBC_2.4 mq_setattr F
 GLIBC_2.4 mq_timedreceive F
 GLIBC_2.4 mq_timedsend F
 GLIBC_2.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 69149e1e31..a71fc473c5 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -311,6 +311,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
@@ -1725,6 +1726,7 @@  GLIBC_2.4 mount F
 GLIBC_2.4 mprobe F
 GLIBC_2.4 mprotect F
 GLIBC_2.4 mq_close F
+GLIBC_2.4 mq_setattr F
 GLIBC_2.4 mrand48 F
 GLIBC_2.4 mrand48_r F
 GLIBC_2.4 mremap F
diff --git a/sysdeps/unix/sysv/linux/arm/le/librt.abilist b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
index a7a3efd732..1e9b5a4dfb 100644
--- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
@@ -7,7 +7,6 @@  GLIBC_2.4 mq_notify F
 GLIBC_2.4 mq_open F
 GLIBC_2.4 mq_receive F
 GLIBC_2.4 mq_send F
-GLIBC_2.4 mq_setattr F
 GLIBC_2.4 mq_timedreceive F
 GLIBC_2.4 mq_timedsend F
 GLIBC_2.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 24a8e779ef..924377d21d 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1344,6 +1344,7 @@  GLIBC_2.29 mount F
 GLIBC_2.29 mprobe F
 GLIBC_2.29 mprotect F
 GLIBC_2.29 mq_close F
+GLIBC_2.29 mq_setattr F
 GLIBC_2.29 mrand48 F
 GLIBC_2.29 mrand48_r F
 GLIBC_2.29 mremap F
@@ -2421,6 +2422,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/csky/librt.abilist b/sysdeps/unix/sysv/linux/csky/librt.abilist
index f8439e803c..5ded0dc421 100644
--- a/sysdeps/unix/sysv/linux/csky/librt.abilist
+++ b/sysdeps/unix/sysv/linux/csky/librt.abilist
@@ -4,7 +4,6 @@  GLIBC_2.29 mq_notify F
 GLIBC_2.29 mq_open F
 GLIBC_2.29 mq_receive F
 GLIBC_2.29 mq_send F
-GLIBC_2.29 mq_setattr F
 GLIBC_2.29 mq_timedreceive F
 GLIBC_2.29 mq_timedsend F
 GLIBC_2.29 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 108624e7d0..df153c161d 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2207,6 +2207,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2375,6 +2376,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist b/sysdeps/unix/sysv/linux/hppa/librt.abilist
index 2830671cbd..73eb37021f 100644
--- a/sysdeps/unix/sysv/linux/hppa/librt.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist
@@ -9,7 +9,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index b261de5045..0dc4c677be 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2388,6 +2388,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2559,6 +2560,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/i386/librt.abilist b/sysdeps/unix/sysv/linux/i386/librt.abilist
index 2830671cbd..73eb37021f 100644
--- a/sysdeps/unix/sysv/linux/i386/librt.abilist
+++ b/sysdeps/unix/sysv/linux/i386/librt.abilist
@@ -9,7 +9,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index ae3d1362b4..ddc9db0d2c 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2242,6 +2242,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2334,6 +2335,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/ia64/librt.abilist b/sysdeps/unix/sysv/linux/ia64/librt.abilist
index 71fa79869e..2e8a0d4c82 100644
--- a/sysdeps/unix/sysv/linux/ia64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist
@@ -14,7 +14,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 719ad8c4cd..2f078539d4 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -315,6 +315,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
@@ -1712,6 +1713,7 @@  GLIBC_2.4 mount F
 GLIBC_2.4 mprobe F
 GLIBC_2.4 mprotect F
 GLIBC_2.4 mq_close F
+GLIBC_2.4 mq_setattr F
 GLIBC_2.4 mrand48 F
 GLIBC_2.4 mrand48_r F
 GLIBC_2.4 mremap F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
index a7a3efd732..1e9b5a4dfb 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
@@ -7,7 +7,6 @@  GLIBC_2.4 mq_notify F
 GLIBC_2.4 mq_open F
 GLIBC_2.4 mq_receive F
 GLIBC_2.4 mq_send F
-GLIBC_2.4 mq_setattr F
 GLIBC_2.4 mq_timedreceive F
 GLIBC_2.4 mq_timedsend F
 GLIBC_2.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index d9ebe5ff51..457001393e 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2331,6 +2331,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2502,6 +2503,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
index 2830671cbd..73eb37021f 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
@@ -9,7 +9,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 7baacb6ac0..e0cff30061 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1360,6 +1360,7 @@  GLIBC_2.18 mount F
 GLIBC_2.18 mprobe F
 GLIBC_2.18 mprotect F
 GLIBC_2.18 mq_close F
+GLIBC_2.18 mq_setattr F
 GLIBC_2.18 mrand48 F
 GLIBC_2.18 mrand48_r F
 GLIBC_2.18 mremap F
@@ -2472,6 +2473,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
index 826842df14..c42d6f70be 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
@@ -4,7 +4,6 @@  GLIBC_2.18 mq_notify F
 GLIBC_2.18 mq_open F
 GLIBC_2.18 mq_receive F
 GLIBC_2.18 mq_send F
-GLIBC_2.18 mq_setattr F
 GLIBC_2.18 mq_timedreceive F
 GLIBC_2.18 mq_timedsend F
 GLIBC_2.18 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index b7cf9054f5..697298a2bb 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1360,6 +1360,7 @@  GLIBC_2.18 mount F
 GLIBC_2.18 mprobe F
 GLIBC_2.18 mprotect F
 GLIBC_2.18 mq_close F
+GLIBC_2.18 mq_setattr F
 GLIBC_2.18 mrand48 F
 GLIBC_2.18 mrand48_r F
 GLIBC_2.18 mremap F
@@ -2469,6 +2470,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
index 826842df14..c42d6f70be 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
@@ -4,7 +4,6 @@  GLIBC_2.18 mq_notify F
 GLIBC_2.18 mq_open F
 GLIBC_2.18 mq_receive F
 GLIBC_2.18 mq_send F
-GLIBC_2.18 mq_setattr F
 GLIBC_2.18 mq_timedreceive F
 GLIBC_2.18 mq_timedsend F
 GLIBC_2.18 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 0055c850c1..529d002804 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2299,6 +2299,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2467,6 +2468,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
index b9908f3752..66ace7f63f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
@@ -8,7 +8,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index d1c756a5b6..14343fdd69 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2297,6 +2297,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2465,6 +2466,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 6a3275d75f..af1379fcd5 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2305,6 +2305,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2473,6 +2474,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
index b9908f3752..66ace7f63f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
@@ -8,7 +8,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 026d6f0c34..ed0e42ddf4 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2299,6 +2299,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2390,6 +2391,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
index df7de1fd21..6957efa4dd 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
@@ -8,7 +8,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/mq_setattr.c b/sysdeps/unix/sysv/linux/mq_setattr.c
new file mode 100644
index 0000000000..9631aa5da6
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mq_setattr.c
@@ -0,0 +1,33 @@ 
+/* mq_setattr system call wrapper.
+   Copyright (C) 2021 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <mqueue.h>
+#include <shlib-compat.h>
+#include <sysdep.h>
+
+int
+__mq_setattr (mqd_t mqdes, const struct mq_attr *__restrict mqstat,
+              struct mq_attr *__restrict omqstat)
+{
+  return INLINE_SYSCALL_CALL (mq_getsetattr, mqdes, mqstat, omqstat);
+}
+versioned_symbol (libc, __mq_setattr, mq_setattr, GLIBC_2_34);
+libc_hidden_ver (__mq_setattr, mq_setattr)
+#if OTHER_SHLIB_COMPAT (librt, GLIBC_2_3_4, GLIBC_2_34)
+compat_symbol (librt, __mq_setattr, mq_setattr, GLIBC_2_3_4);
+#endif
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index de7e07f62f..53f30a93fa 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1403,6 +1403,7 @@  GLIBC_2.21 mount F
 GLIBC_2.21 mprobe F
 GLIBC_2.21 mprotect F
 GLIBC_2.21 mq_close F
+GLIBC_2.21 mq_setattr F
 GLIBC_2.21 mrand48 F
 GLIBC_2.21 mrand48_r F
 GLIBC_2.21 mremap F
@@ -2511,6 +2512,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/nios2/librt.abilist b/sysdeps/unix/sysv/linux/nios2/librt.abilist
index 8d7a95d6ac..c6d440aea4 100644
--- a/sysdeps/unix/sysv/linux/nios2/librt.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist
@@ -4,7 +4,6 @@  GLIBC_2.21 mq_notify F
 GLIBC_2.21 mq_open F
 GLIBC_2.21 mq_receive F
 GLIBC_2.21 mq_send F
-GLIBC_2.21 mq_setattr F
 GLIBC_2.21 mq_timedreceive F
 GLIBC_2.21 mq_timedsend F
 GLIBC_2.21 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 11bca22288..eeb6d57f25 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2345,6 +2345,7 @@  GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 longjmp F
 GLIBC_2.3.4 makecontext F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2529,6 +2530,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
index 2830671cbd..73eb37021f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
@@ -9,7 +9,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 23823f46cf..afa5274916 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2378,6 +2378,7 @@  GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 longjmp F
 GLIBC_2.3.4 makecontext F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2562,6 +2563,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index d4c732e826..a01854490b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2191,6 +2191,7 @@  GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 longjmp F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2298,6 +2299,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
index e20095d937..0534a11718 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
@@ -13,7 +13,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index cf2f48704b..476ebab28f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1446,6 +1446,7 @@  GLIBC_2.17 mount F
 GLIBC_2.17 mprobe F
 GLIBC_2.17 mprotect F
 GLIBC_2.17 mq_close F
+GLIBC_2.17 mq_setattr F
 GLIBC_2.17 mrand48 F
 GLIBC_2.17 mrand48_r F
 GLIBC_2.17 mremap F
@@ -2597,6 +2598,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
index 0f95d65af6..5577602ea8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
@@ -4,7 +4,6 @@  GLIBC_2.17 mq_notify F
 GLIBC_2.17 mq_open F
 GLIBC_2.17 mq_receive F
 GLIBC_2.17 mq_send F
-GLIBC_2.17 mq_setattr F
 GLIBC_2.17 mq_timedreceive F
 GLIBC_2.17 mq_timedsend F
 GLIBC_2.17 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index f731932abf..48882415a6 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1291,6 +1291,7 @@  GLIBC_2.33 mount F
 GLIBC_2.33 mprobe F
 GLIBC_2.33 mprotect F
 GLIBC_2.33 mq_close F
+GLIBC_2.33 mq_setattr F
 GLIBC_2.33 mrand48 F
 GLIBC_2.33 mrand48_r F
 GLIBC_2.33 mremap F
@@ -2162,6 +2163,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
index 1b681c4f40..fc8a2d3353 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
@@ -4,7 +4,6 @@  GLIBC_2.33 mq_notify F
 GLIBC_2.33 mq_open F
 GLIBC_2.33 mq_receive F
 GLIBC_2.33 mq_send F
-GLIBC_2.33 mq_setattr F
 GLIBC_2.33 mq_timedreceive F
 GLIBC_2.33 mq_timedsend F
 GLIBC_2.33 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 5dbfcd8d85..006d0c911d 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1341,6 +1341,7 @@  GLIBC_2.27 mount F
 GLIBC_2.27 mprobe F
 GLIBC_2.27 mprotect F
 GLIBC_2.27 mq_close F
+GLIBC_2.27 mq_setattr F
 GLIBC_2.27 mrand48 F
 GLIBC_2.27 mrand48_r F
 GLIBC_2.27 mremap F
@@ -2362,6 +2363,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
index 05a7e7ab00..85c6dfae23 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
@@ -4,7 +4,6 @@  GLIBC_2.27 mq_notify F
 GLIBC_2.27 mq_open F
 GLIBC_2.27 mq_receive F
 GLIBC_2.27 mq_send F
-GLIBC_2.27 mq_setattr F
 GLIBC_2.27 mq_timedreceive F
 GLIBC_2.27 mq_timedsend F
 GLIBC_2.27 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index b84e794be5..0f5a0ebb1c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2344,6 +2344,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2527,6 +2528,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
index 2830671cbd..73eb37021f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
@@ -9,7 +9,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 5e500fc41b..4aa1a9fa74 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2232,6 +2232,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2335,6 +2336,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
index eaf9985930..7bc6c2d4e6 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
@@ -13,7 +13,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 5eacb42a61..db1f29d905 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2211,6 +2211,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2382,6 +2383,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/librt.abilist b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
index 2830671cbd..73eb37021f 100644
--- a/sysdeps/unix/sysv/linux/sh/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
@@ -9,7 +9,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 1e6e234774..961d2b66e0 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2211,6 +2211,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2379,6 +2380,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/librt.abilist b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
index 2830671cbd..73eb37021f 100644
--- a/sysdeps/unix/sysv/linux/sh/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
@@ -9,7 +9,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index c641491014..d70c6499a8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2342,6 +2342,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2522,6 +2523,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
index d7bd3edad5..36b9ea794f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
@@ -10,7 +10,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 834aaa1cb6..9f18195c9d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2266,6 +2266,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2357,6 +2358,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
index 960db11285..59e770d345 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
@@ -15,7 +15,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index 01ec2bfa95..62329abb49 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -86,8 +86,6 @@  removexattr	-	removexattr	i:ss	removexattr
 lremovexattr	-	lremovexattr	i:ss	lremovexattr
 fremovexattr	-	fremovexattr	i:is	fremovexattr
 
-mq_setattr	-	mq_getsetattr	i:ipp	mq_setattr
-
 timerfd_create	EXTRA	timerfd_create	i:ii	timerfd_create
 
 fanotify_init	EXTRA	fanotify_init	i:ii	fanotify_init
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 3f17a41c66..05c1f47233 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2220,6 +2220,7 @@  GLIBC_2.3.4 dlmopen F
 GLIBC_2.3.4 getipv4sourcefilter F
 GLIBC_2.3.4 getsourcefilter F
 GLIBC_2.3.4 mq_close 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
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2313,6 +2314,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
index 6b8d77f1a7..d7e5e48295 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
@@ -13,7 +13,6 @@  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
-GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
 GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 5ea3b75384..b839033cde 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1365,6 +1365,7 @@  GLIBC_2.16 mount F
 GLIBC_2.16 mprobe F
 GLIBC_2.16 mprotect F
 GLIBC_2.16 mq_close F
+GLIBC_2.16 mq_setattr F
 GLIBC_2.16 mrand48 F
 GLIBC_2.16 mrand48_r F
 GLIBC_2.16 mremap F
@@ -2416,6 +2417,7 @@  GLIBC_2.34 execveat F
 GLIBC_2.34 lio_listio F
 GLIBC_2.34 lio_listio64 F
 GLIBC_2.34 mq_close F
+GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
index 660f1de033..24c03ebc8b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
@@ -4,7 +4,6 @@  GLIBC_2.16 mq_notify F
 GLIBC_2.16 mq_open F
 GLIBC_2.16 mq_receive F
 GLIBC_2.16 mq_send F
-GLIBC_2.16 mq_setattr F
 GLIBC_2.16 mq_timedreceive F
 GLIBC_2.16 mq_timedsend F
 GLIBC_2.16 mq_unlink F