[8/8] socket: Add time64 alias for setsockopt

Message ID 789471b308d81211a8788646f5997433a031e5d9.1625492203.git.fweimer@redhat.com
State Superseded
Delegated to: Adhemerval Zanella Netto
Headers
Series Additional time64 aliases |

Checks

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

Commit Message

Florian Weimer July 5, 2021, 1:42 p.m. UTC
  ---
 socket/sys/socket.h                                 | 13 +++++++++++++
 sysdeps/unix/sysv/linux/Versions                    |  1 +
 sysdeps/unix/sysv/linux/arm/be/libc.abilist         |  1 +
 sysdeps/unix/sysv/linux/arm/le/libc.abilist         |  1 +
 sysdeps/unix/sysv/linux/arm/syscalls.list           |  2 +-
 sysdeps/unix/sysv/linux/csky/libc.abilist           |  1 +
 sysdeps/unix/sysv/linux/generic/syscalls.list       |  2 +-
 sysdeps/unix/sysv/linux/hppa/libc.abilist           |  1 +
 sysdeps/unix/sysv/linux/hppa/syscalls.list          |  4 ++--
 sysdeps/unix/sysv/linux/i386/libc.abilist           |  1 +
 sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist  |  1 +
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist    |  1 +
 sysdeps/unix/sysv/linux/microblaze/be/libc.abilist  |  1 +
 sysdeps/unix/sysv/linux/microblaze/le/libc.abilist  |  1 +
 .../unix/sysv/linux/mips/mips32/fpu/libc.abilist    |  1 +
 .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist  |  1 +
 .../unix/sysv/linux/mips/mips64/n32/libc.abilist    |  1 +
 sysdeps/unix/sysv/linux/mips/syscalls.list          |  2 +-
 sysdeps/unix/sysv/linux/nios2/libc.abilist          |  1 +
 .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist   |  1 +
 .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist |  1 +
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist   |  1 +
 sysdeps/unix/sysv/linux/setsockopt.c                |  3 +++
 sysdeps/unix/sysv/linux/sh/be/libc.abilist          |  1 +
 sysdeps/unix/sysv/linux/sh/le/libc.abilist          |  1 +
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist  |  1 +
 26 files changed, 41 insertions(+), 5 deletions(-)
  

Comments

Lukasz Majewski July 20, 2021, 9:15 a.m. UTC | #1
On Mon, 05 Jul 2021 15:42:27 +0200
Florian Weimer via Libc-alpha <libc-alpha@sourceware.org> wrote:

> ---
>  socket/sys/socket.h                                 | 13
> +++++++++++++ sysdeps/unix/sysv/linux/Versions                    |
> 1 + sysdeps/unix/sysv/linux/arm/be/libc.abilist         |  1 +
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist         |  1 +
>  sysdeps/unix/sysv/linux/arm/syscalls.list           |  2 +-
>  sysdeps/unix/sysv/linux/csky/libc.abilist           |  1 +
>  sysdeps/unix/sysv/linux/generic/syscalls.list       |  2 +-
>  sysdeps/unix/sysv/linux/hppa/libc.abilist           |  1 +
>  sysdeps/unix/sysv/linux/hppa/syscalls.list          |  4 ++--
>  sysdeps/unix/sysv/linux/i386/libc.abilist           |  1 +
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist  |  1 +
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist    |  1 +
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist  |  1 +
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist  |  1 +
>  .../unix/sysv/linux/mips/mips32/fpu/libc.abilist    |  1 +
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist  |  1 +
>  .../unix/sysv/linux/mips/mips64/n32/libc.abilist    |  1 +
>  sysdeps/unix/sysv/linux/mips/syscalls.list          |  2 +-
>  sysdeps/unix/sysv/linux/nios2/libc.abilist          |  1 +
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist   |  1 +
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist |  1 +
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist   |  1 +
>  sysdeps/unix/sysv/linux/setsockopt.c                |  3 +++
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist          |  1 +
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist          |  1 +
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist  |  1 +
>  26 files changed, 41 insertions(+), 5 deletions(-)
> 
> diff --git a/socket/sys/socket.h b/socket/sys/socket.h
> index b37c87e7df..bd14e7e3a5 100644
> --- a/socket/sys/socket.h
> +++ b/socket/sys/socket.h
> @@ -273,8 +273,21 @@ extern int __getsockopt64 (int __fd, int
> __level, int __optname, /* Set socket FD's option OPTNAME at protocol
> level LEVEL to *OPTVAL (which is OPTLEN bytes long).
>     Returns 0 on success, -1 for errors.  */
> +#ifndef __USE_TIME_BITS64
>  extern int setsockopt (int __fd, int __level, int __optname,
>  		       const void *__optval, socklen_t __optlen)
> __THROW; +#else
> +# ifdef __REDIRECT
> +extern int __REDIRECT_NTH (setsockopt,
> +			   (int __fd, int __level, int __optname,
> +			    const void *__optval, socklen_t
> __optlen),
> +			   __setsockopt64);
> +# else
> +extern int __setsockopt64 (int __fd, int __level, int __optname,
> +			   const void *__optval, socklen_t __optlen)
> __THROW; 

Here I also wonder if this declaration shall not be outside the # ifdef
__REDIRECT ?

>+#  define setsockopt __setsockopt64
> +# endif
> +#endif
>  
>  
>  /* Prepare to accept connections on socket FD.
> diff --git a/sysdeps/unix/sysv/linux/Versions
> b/sysdeps/unix/sysv/linux/Versions index b7d2a2ee4d..965d7d1d15 100644
> --- a/sysdeps/unix/sysv/linux/Versions
> +++ b/sysdeps/unix/sysv/linux/Versions
> @@ -270,6 +270,7 @@ libc {
>      __sendmmsg64;
>      __sendmsg64;
>      __setitimer64;
> +    __setsockopt64;
>      __settimeofday64;
>      __shmctl64;
>      __sigtimedwait64;
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index
> 94481027d0..f371b09561 100644 ---
> a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++
> b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -273,6 +273,7 @@
> GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index
> e4d514af90..79d79fad05 100644 ---
> a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++
> b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -270,6 +270,7 @@
> GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/arm/syscalls.list
> b/sysdeps/unix/sysv/linux/arm/syscalls.list index
> aad60a8871..2e875d1049 100644 ---
> a/sysdeps/unix/sysv/linux/arm/syscalls.list +++
> b/sysdeps/unix/sysv/linux/arm/syscalls.list @@ -27,7 +27,7 @@
> getpeername	-	getpeername	i:ipp
> __getpeername	getpeername getsockname	-
> getsockname	i:ipp	__getsockname	getsockname
> getsockopt	-	getsockopt	i:iiiBN
> __getsockopt	getsockopt __getsockopt64 listen
> -	listen		i:ii	__listen	listen
> -setsockopt	-	setsockopt	i:iiibn
> __setsockopt	setsockopt +setsockopt	-
> setsockopt	i:iiibn	__setsockopt	setsockopt
> __setsockopt64 shutdown	-	shutdown	i:ii
> __shutdown	shutdown socket		-
> socket		i:iii	__socket	socket
> socketpair	-	socketpair	i:iiif
> __socketpair	socketpair diff --git
> a/sysdeps/unix/sysv/linux/csky/libc.abilist
> b/sysdeps/unix/sysv/linux/csky/libc.abilist index
> f4471af348..c383be1fe6 100644 ---
> a/sysdeps/unix/sysv/linux/csky/libc.abilist +++
> b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -2405,6 +2405,7 @@
> GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F GLIBC_2.34
> __sendmsg64 F GLIBC_2.34 __setitimer64 F +GLIBC_2.34 __setsockopt64 F
> GLIBC_2.34 __settimeofday64 F GLIBC_2.34 __shmctl64 F GLIBC_2.34
> __sigtimedwait64 F diff --git
> a/sysdeps/unix/sysv/linux/generic/syscalls.list
> b/sysdeps/unix/sysv/linux/generic/syscalls.list index
> e58eff5bd3..062bf5f92e 100644 ---
> a/sysdeps/unix/sysv/linux/generic/syscalls.list +++
> b/sysdeps/unix/sysv/linux/generic/syscalls.list @@ -7,6 +7,6 @@
> bind		-	bind		i:ipi
> __bind		bind listen		-
> listen		i:ii	__listen	listen
> getsockname	-	getsockname	i:ipp
> __getsockname	getsockname getpeername	-
> getpeername	i:ipp	__getpeername	getpeername
> -setsockopt	-	setsockopt	i:iiibn
> __setsockopt	setsockopt +setsockopt	-
> setsockopt	i:iiibn	__setsockopt	setsockopt
> __setsockopt64 getsockopt	-	getsockopt
> i:iiiBN	__getsockopt	getsockopt __getsockopt64
> shutdown	-	shutdown	i:ii
> __shutdown	shutdown diff --git
> a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> b/sysdeps/unix/sysv/linux/hppa/libc.abilist index
> 87859d9399..ebfa48dc36 100644 ---
> a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++
> b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2358,6 +2358,7 @@
> GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F GLIBC_2.34
> __sendmsg64 F GLIBC_2.34 __setitimer64 F +GLIBC_2.34 __setsockopt64 F
> GLIBC_2.34 __settimeofday64 F GLIBC_2.34 __shmctl64 F GLIBC_2.34
> __sigtimedwait64 F diff --git
> a/sysdeps/unix/sysv/linux/hppa/syscalls.list
> b/sysdeps/unix/sysv/linux/hppa/syscalls.list index
> 2234f4ac07..0f6f735955 100644 ---
> a/sysdeps/unix/sysv/linux/hppa/syscalls.list +++
> b/sysdeps/unix/sysv/linux/hppa/syscalls.list @@ -1,12 +1,12 @@ # File
> name	Caller	Syscall name	# args	Strong
> name	Weak names - +soc # proper socket implementations:

This `+soc` seems to be not needed ?

> bind		-	bind		i:ipi
> __bind		bind getpeername	-
> getpeername	i:ipp	__getpeername	getpeername
> getsockname	-	getsockname	i:ipp
> __getsockname	getsockname getsockopt	-
> getsockopt	i:iiiBN	__getsockopt	getsockopt
> __getsockopt64 listen		-	listen
> i:ii	__listen	listen -setsockopt	-
> setsockopt	i:iiibn	__setsockopt	setsockopt
> +setsockopt	-	setsockopt	i:iiibn
> __setsockopt	setsockopt __setsockopt64 shutdown
> -	shutdown	i:ii	__shutdown	shutdown
> socket		-	socket		i:iii
> __socket	socket socketpair	-	socketpair
> i:iiif	__socketpair	socketpair diff --git
> a/sysdeps/unix/sysv/linux/i386/libc.abilist
> b/sysdeps/unix/sysv/linux/i386/libc.abilist index
> 1f411505ce..109f2276d0 100644 ---
> a/sysdeps/unix/sysv/linux/i386/libc.abilist +++
> b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2542,6 +2542,7 @@
> GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F GLIBC_2.34
> __sendmsg64 F GLIBC_2.34 __setitimer64 F +GLIBC_2.34 __setsockopt64 F
> GLIBC_2.34 __settimeofday64 F GLIBC_2.34 __shmctl64 F GLIBC_2.34
> __sigtimedwait64 F diff --git
> a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index
> 5aba8397e0..04f73b235f 100644 ---
> a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++
> b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -274,6 +274,7
> @@ GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F GLIBC_2.34
> __sendmsg64 F GLIBC_2.34 __setitimer64 F +GLIBC_2.34 __setsockopt64 F
> GLIBC_2.34 __settimeofday64 F GLIBC_2.34 __shmctl64 F GLIBC_2.34
> __sigtimedwait64 F diff --git
> a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index
> 318c50e3fa..26eedca03b 100644 ---
> a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++
> b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2485,6 +2485,7
> @@ GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F GLIBC_2.34
> __sendmsg64 F GLIBC_2.34 __setitimer64 F +GLIBC_2.34 __setsockopt64 F
> GLIBC_2.34 __settimeofday64 F GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index
> b47cf67949..7f824392fc 100644 ---
> a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++
> b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -2456,6
> +2456,7 @@ GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index
> a6e584ae98..1c23bedc52 100644 ---
> a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++
> b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -2453,6
> +2453,7 @@ GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index
> f4a6f9ecc5..684c5759b3 100644 ---
> a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++
> b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2450,6
> +2450,7 @@ GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index
> 2888edd627..2bb3fdca5c 100644 ---
> a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++
> b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -2448,6
> +2448,7 @@ GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index
> f7a731692b..18cce12763 100644 ---
> a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++
> b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2456,6
> +2456,7 @@ GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/mips/syscalls.list
> b/sysdeps/unix/sysv/linux/mips/syscalls.list index
> 13a658fb89..c6f756c7c2 100644 ---
> a/sysdeps/unix/sysv/linux/mips/syscalls.list +++
> b/sysdeps/unix/sysv/linux/mips/syscalls.list @@ -17,7 +17,7 @@
> getpeername	-	getpeername	i:ipp
> __getpeername	getpeername getsockname	-
> getsockname	i:ipp	__getsockname	getsockname
> getsockopt	-	getsockopt	i:iiiBN
> __getsockopt	getsockopt __getsockopt64 listen
> -	listen		i:ii	__listen	listen
> -setsockopt	-	setsockopt	i:iiibn
> __setsockopt	setsockopt +setsockopt	-
> setsockopt	i:iiibn	__setsockopt	setsockopt
> __setsockopt64 shutdown	-	shutdown	i:ii
> __shutdown	shutdown socket		-
> socket		i:iii	__socket	socket
> socketpair	-	socketpair	i:iiif
> __socketpair	socketpair diff --git
> a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> b/sysdeps/unix/sysv/linux/nios2/libc.abilist index
> 5acbc04c87..e12ed083da 100644 ---
> a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++
> b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -2495,6 +2495,7 @@
> GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F GLIBC_2.34
> __sendmsg64 F GLIBC_2.34 __setitimer64 F +GLIBC_2.34 __setsockopt64 F
> GLIBC_2.34 __settimeofday64 F GLIBC_2.34 __shmctl64 F GLIBC_2.34
> __sigtimedwait64 F diff --git
> a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index
> 1f3058de78..340695d018 100644 ---
> a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++
> b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@
> -2512,6 +2512,7 @@ GLIBC_2.34 __semtimedop64 F GLIBC_2.34
> __sendmmsg64 F GLIBC_2.34 __sendmsg64 F GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F GLIBC_2.34 __settimeofday64 F GLIBC_2.34
> __shmctl64 F GLIBC_2.34 __sigtimedwait64 F
> diff --git
> a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index
> 9584447358..588671f098 100644 ---
> a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++
> b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@
> -2545,6 +2545,7 @@ GLIBC_2.34 __semtimedop64 F GLIBC_2.34
> __sendmmsg64 F GLIBC_2.34 __sendmsg64 F GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index
> dff704b6b9..66aae5a9bd 100644 ---
> a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++
> b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2510,6
> +2510,7 @@ GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/setsockopt.c
> b/sysdeps/unix/sysv/linux/setsockopt.c index a4780a9d33..556f7105d0
> 100644 --- a/sysdeps/unix/sysv/linux/setsockopt.c
> +++ b/sysdeps/unix/sysv/linux/setsockopt.c
> @@ -100,3 +100,6 @@ setsockopt (int fd, int level, int optname, const
> void *optval, socklen_t len) return r;
>  }
>  weak_alias (setsockopt, __setsockopt)
> +#if __TIMESIZE != 64
> +weak_alias (__setsockopt, __setsockopt64)
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index
> 85fc46ab7e..12660470fa 100644 ---
> a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++
> b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2365,6 +2365,7 @@
> GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index
> ebc2a90dac..119c2caddc 100644 ---
> a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++
> b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2362,6 +2362,7 @@
> GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index
> 8a1d118c67..124f3e7e42 100644 ---
> a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++
> b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2505,6
> +2505,7 @@ GLIBC_2.34 __semtimedop64 F GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F

Reviewed-by: Lukasz Majewski <lukma@denx.de>


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
  
Florian Weimer July 20, 2021, 9:18 a.m. UTC | #2
* Lukasz Majewski:

>> a/sysdeps/unix/sysv/linux/hppa/syscalls.list
>> b/sysdeps/unix/sysv/linux/hppa/syscalls.list index
>> 2234f4ac07..0f6f735955 100644 ---
>> a/sysdeps/unix/sysv/linux/hppa/syscalls.list +++
>> b/sysdeps/unix/sysv/linux/hppa/syscalls.list @@ -1,12 +1,12 @@ # File
>> name	Caller	Syscall name	# args	Strong
>> name	Weak names - +soc # proper socket implementations:
>
> This `+soc` seems to be not needed ?

Right, fixed locally.

Thanks,
Florian
  
Adhemerval Zanella July 21, 2021, 8:10 p.m. UTC | #3
The syscalls.list part is not correct, we want arm, mips32, nios2 (generic),
and csky (generic) to use the Linux setsockopt.c instead of using an alias
for the auto-generated version.

The rest look ok.

On 05/07/2021 10:42, Florian Weimer via Libc-alpha wrote:
> ---
>  socket/sys/socket.h                                 | 13 +++++++++++++
>  sysdeps/unix/sysv/linux/Versions                    |  1 +
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist         |  1 +
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist         |  1 +
>  sysdeps/unix/sysv/linux/arm/syscalls.list           |  2 +-
>  sysdeps/unix/sysv/linux/csky/libc.abilist           |  1 +
>  sysdeps/unix/sysv/linux/generic/syscalls.list       |  2 +-
>  sysdeps/unix/sysv/linux/hppa/libc.abilist           |  1 +
>  sysdeps/unix/sysv/linux/hppa/syscalls.list          |  4 ++--
>  sysdeps/unix/sysv/linux/i386/libc.abilist           |  1 +
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist  |  1 +
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist    |  1 +
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist  |  1 +
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist  |  1 +
>  .../unix/sysv/linux/mips/mips32/fpu/libc.abilist    |  1 +
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist  |  1 +
>  .../unix/sysv/linux/mips/mips64/n32/libc.abilist    |  1 +
>  sysdeps/unix/sysv/linux/mips/syscalls.list          |  2 +-
>  sysdeps/unix/sysv/linux/nios2/libc.abilist          |  1 +
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist   |  1 +
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist |  1 +
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist   |  1 +
>  sysdeps/unix/sysv/linux/setsockopt.c                |  3 +++
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist          |  1 +
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist          |  1 +
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist  |  1 +
>  26 files changed, 41 insertions(+), 5 deletions(-)
> 
> diff --git a/socket/sys/socket.h b/socket/sys/socket.h
> index b37c87e7df..bd14e7e3a5 100644
> --- a/socket/sys/socket.h
> +++ b/socket/sys/socket.h
> @@ -273,8 +273,21 @@ extern int __getsockopt64 (int __fd, int __level, int __optname,
>  /* Set socket FD's option OPTNAME at protocol level LEVEL
>     to *OPTVAL (which is OPTLEN bytes long).
>     Returns 0 on success, -1 for errors.  */
> +#ifndef __USE_TIME_BITS64
>  extern int setsockopt (int __fd, int __level, int __optname,
>  		       const void *__optval, socklen_t __optlen) __THROW;
> +#else
> +# ifdef __REDIRECT
> +extern int __REDIRECT_NTH (setsockopt,
> +			   (int __fd, int __level, int __optname,
> +			    const void *__optval, socklen_t __optlen),
> +			   __setsockopt64);
> +# else
> +extern int __setsockopt64 (int __fd, int __level, int __optname,
> +			   const void *__optval, socklen_t __optlen) __THROW;
> +#  define setsockopt __setsockopt64
> +# endif
> +#endif
>  
>  
>  /* Prepare to accept connections on socket FD.

Ok.

> diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
> index b7d2a2ee4d..965d7d1d15 100644
> --- a/sysdeps/unix/sysv/linux/Versions
> +++ b/sysdeps/unix/sysv/linux/Versions
> @@ -270,6 +270,7 @@ libc {
>      __sendmmsg64;
>      __sendmsg64;
>      __setitimer64;
> +    __setsockopt64;
>      __settimeofday64;
>      __shmctl64;
>      __sigtimedwait64;

Ok.

> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 94481027d0..f371b09561 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -273,6 +273,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index e4d514af90..79d79fad05 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -270,6 +270,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/arm/syscalls.list b/sysdeps/unix/sysv/linux/arm/syscalls.list
> index aad60a8871..2e875d1049 100644
> --- a/sysdeps/unix/sysv/linux/arm/syscalls.list
> +++ b/sysdeps/unix/sysv/linux/arm/syscalls.list
> @@ -27,7 +27,7 @@ getpeername	-	getpeername	i:ipp	__getpeername	getpeername
>  getsockname	-	getsockname	i:ipp	__getsockname	getsockname
>  getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt __getsockopt64
>  listen		-	listen		i:ii	__listen	listen
> -setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
> +setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt __setsockopt64
>  shutdown	-	shutdown	i:ii	__shutdown	shutdown
>  socket		-	socket		i:iii	__socket	socket
>  socketpair	-	socketpair	i:iiif	__socketpair	socketpair


This will trigger the auto-generation, which is *not* what we want for
arm (it should use the linux setsockopt.c).

> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index f4471af348..c383be1fe6 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -2405,6 +2405,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/generic/syscalls.list b/sysdeps/unix/sysv/linux/generic/syscalls.list
> index e58eff5bd3..062bf5f92e 100644
> --- a/sysdeps/unix/sysv/linux/generic/syscalls.list
> +++ b/sysdeps/unix/sysv/linux/generic/syscalls.list
> @@ -7,6 +7,6 @@ bind		-	bind		i:ipi	__bind		bind
>  listen		-	listen		i:ii	__listen	listen
>  getsockname	-	getsockname	i:ipp	__getsockname	getsockname
>  getpeername	-	getpeername	i:ipp	__getpeername	getpeername
> -setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
> +setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt __setsockopt64
>  getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt __getsockopt64
>  shutdown	-	shutdown	i:ii	__shutdown	shutdown

Same as before.

> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 87859d9399..ebfa48dc36 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2358,6 +2358,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/hppa/syscalls.list b/sysdeps/unix/sysv/linux/hppa/syscalls.list
> index 2234f4ac07..0f6f735955 100644
> --- a/sysdeps/unix/sysv/linux/hppa/syscalls.list
> +++ b/sysdeps/unix/sysv/linux/hppa/syscalls.list
> @@ -1,12 +1,12 @@
>  # File name	Caller	Syscall name	# args	Strong name	Weak names
> -
> +soc
>  # proper socket implementations:
>  bind		-	bind		i:ipi	__bind		bind
>  getpeername	-	getpeername	i:ipp	__getpeername	getpeername
>  getsockname	-	getsockname	i:ipp	__getsockname	getsockname
>  getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt __getsockopt64
>  listen		-	listen		i:ii	__listen	listen
> -setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
> +setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt __setsockopt64
>  shutdown	-	shutdown	i:ii	__shutdown	shutdown
>  socket		-	socket		i:iii	__socket	socket
>  socketpair	-	socketpair	i:iiif	__socketpair	socketpair

Same as for the ARM part comment.

> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 1f411505ce..109f2276d0 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2542,6 +2542,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 5aba8397e0..04f73b235f 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -274,6 +274,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 318c50e3fa..26eedca03b 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2485,6 +2485,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index b47cf67949..7f824392fc 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2456,6 +2456,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index a6e584ae98..1c23bedc52 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2453,6 +2453,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index f4a6f9ecc5..684c5759b3 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2450,6 +2450,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 2888edd627..2bb3fdca5c 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2448,6 +2448,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index f7a731692b..18cce12763 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2456,6 +2456,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/mips/syscalls.list b/sysdeps/unix/sysv/linux/mips/syscalls.list
> index 13a658fb89..c6f756c7c2 100644
> --- a/sysdeps/unix/sysv/linux/mips/syscalls.list
> +++ b/sysdeps/unix/sysv/linux/mips/syscalls.list
> @@ -17,7 +17,7 @@ getpeername	-	getpeername	i:ipp	__getpeername	getpeername
>  getsockname	-	getsockname	i:ipp	__getsockname	getsockname
>  getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt __getsockopt64
>  listen		-	listen		i:ii	__listen	listen
> -setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
> +setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt __setsockopt64
>  shutdown	-	shutdown	i:ii	__shutdown	shutdown
>  socket		-	socket		i:iii	__socket	socket
>  socketpair	-	socketpair	i:iiif	__socketpair	socketpair
Same as the ARM part comment.

> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 5acbc04c87..e12ed083da 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2495,6 +2495,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 1f3058de78..340695d018 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2512,6 +2512,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 9584447358..588671f098 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2545,6 +2545,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index dff704b6b9..66aae5a9bd 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2510,6 +2510,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/setsockopt.c b/sysdeps/unix/sysv/linux/setsockopt.c
> index a4780a9d33..556f7105d0 100644
> --- a/sysdeps/unix/sysv/linux/setsockopt.c
> +++ b/sysdeps/unix/sysv/linux/setsockopt.c
> @@ -100,3 +100,6 @@ setsockopt (int fd, int level, int optname, const void *optval, socklen_t len)
>    return r;
>  }
>  weak_alias (setsockopt, __setsockopt)
> +#if __TIMESIZE != 64
> +weak_alias (__setsockopt, __setsockopt64)
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 85fc46ab7e..12660470fa 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2365,6 +2365,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index ebc2a90dac..119c2caddc 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2362,6 +2362,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 8a1d118c67..124f3e7e42 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2505,6 +2505,7 @@ GLIBC_2.34 __semtimedop64 F
>  GLIBC_2.34 __sendmmsg64 F
>  GLIBC_2.34 __sendmsg64 F
>  GLIBC_2.34 __setitimer64 F
> +GLIBC_2.34 __setsockopt64 F
>  GLIBC_2.34 __settimeofday64 F
>  GLIBC_2.34 __shmctl64 F
>  GLIBC_2.34 __sigtimedwait64 F
>
  

Patch

diff --git a/socket/sys/socket.h b/socket/sys/socket.h
index b37c87e7df..bd14e7e3a5 100644
--- a/socket/sys/socket.h
+++ b/socket/sys/socket.h
@@ -273,8 +273,21 @@  extern int __getsockopt64 (int __fd, int __level, int __optname,
 /* Set socket FD's option OPTNAME at protocol level LEVEL
    to *OPTVAL (which is OPTLEN bytes long).
    Returns 0 on success, -1 for errors.  */
+#ifndef __USE_TIME_BITS64
 extern int setsockopt (int __fd, int __level, int __optname,
 		       const void *__optval, socklen_t __optlen) __THROW;
+#else
+# ifdef __REDIRECT
+extern int __REDIRECT_NTH (setsockopt,
+			   (int __fd, int __level, int __optname,
+			    const void *__optval, socklen_t __optlen),
+			   __setsockopt64);
+# else
+extern int __setsockopt64 (int __fd, int __level, int __optname,
+			   const void *__optval, socklen_t __optlen) __THROW;
+#  define setsockopt __setsockopt64
+# endif
+#endif
 
 
 /* Prepare to accept connections on socket FD.
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index b7d2a2ee4d..965d7d1d15 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -270,6 +270,7 @@  libc {
     __sendmmsg64;
     __sendmsg64;
     __setitimer64;
+    __setsockopt64;
     __settimeofday64;
     __shmctl64;
     __sigtimedwait64;
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 94481027d0..f371b09561 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -273,6 +273,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index e4d514af90..79d79fad05 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -270,6 +270,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/arm/syscalls.list b/sysdeps/unix/sysv/linux/arm/syscalls.list
index aad60a8871..2e875d1049 100644
--- a/sysdeps/unix/sysv/linux/arm/syscalls.list
+++ b/sysdeps/unix/sysv/linux/arm/syscalls.list
@@ -27,7 +27,7 @@  getpeername	-	getpeername	i:ipp	__getpeername	getpeername
 getsockname	-	getsockname	i:ipp	__getsockname	getsockname
 getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt __getsockopt64
 listen		-	listen		i:ii	__listen	listen
-setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
+setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt __setsockopt64
 shutdown	-	shutdown	i:ii	__shutdown	shutdown
 socket		-	socket		i:iii	__socket	socket
 socketpair	-	socketpair	i:iiif	__socketpair	socketpair
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index f4471af348..c383be1fe6 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2405,6 +2405,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/generic/syscalls.list b/sysdeps/unix/sysv/linux/generic/syscalls.list
index e58eff5bd3..062bf5f92e 100644
--- a/sysdeps/unix/sysv/linux/generic/syscalls.list
+++ b/sysdeps/unix/sysv/linux/generic/syscalls.list
@@ -7,6 +7,6 @@  bind		-	bind		i:ipi	__bind		bind
 listen		-	listen		i:ii	__listen	listen
 getsockname	-	getsockname	i:ipp	__getsockname	getsockname
 getpeername	-	getpeername	i:ipp	__getpeername	getpeername
-setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
+setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt __setsockopt64
 getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt __getsockopt64
 shutdown	-	shutdown	i:ii	__shutdown	shutdown
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 87859d9399..ebfa48dc36 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2358,6 +2358,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/hppa/syscalls.list b/sysdeps/unix/sysv/linux/hppa/syscalls.list
index 2234f4ac07..0f6f735955 100644
--- a/sysdeps/unix/sysv/linux/hppa/syscalls.list
+++ b/sysdeps/unix/sysv/linux/hppa/syscalls.list
@@ -1,12 +1,12 @@ 
 # File name	Caller	Syscall name	# args	Strong name	Weak names
-
+soc
 # proper socket implementations:
 bind		-	bind		i:ipi	__bind		bind
 getpeername	-	getpeername	i:ipp	__getpeername	getpeername
 getsockname	-	getsockname	i:ipp	__getsockname	getsockname
 getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt __getsockopt64
 listen		-	listen		i:ii	__listen	listen
-setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
+setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt __setsockopt64
 shutdown	-	shutdown	i:ii	__shutdown	shutdown
 socket		-	socket		i:iii	__socket	socket
 socketpair	-	socketpair	i:iiif	__socketpair	socketpair
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 1f411505ce..109f2276d0 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2542,6 +2542,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 5aba8397e0..04f73b235f 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -274,6 +274,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 318c50e3fa..26eedca03b 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2485,6 +2485,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index b47cf67949..7f824392fc 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2456,6 +2456,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index a6e584ae98..1c23bedc52 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2453,6 +2453,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index f4a6f9ecc5..684c5759b3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2450,6 +2450,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 2888edd627..2bb3fdca5c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2448,6 +2448,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index f7a731692b..18cce12763 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2456,6 +2456,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/mips/syscalls.list b/sysdeps/unix/sysv/linux/mips/syscalls.list
index 13a658fb89..c6f756c7c2 100644
--- a/sysdeps/unix/sysv/linux/mips/syscalls.list
+++ b/sysdeps/unix/sysv/linux/mips/syscalls.list
@@ -17,7 +17,7 @@  getpeername	-	getpeername	i:ipp	__getpeername	getpeername
 getsockname	-	getsockname	i:ipp	__getsockname	getsockname
 getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt __getsockopt64
 listen		-	listen		i:ii	__listen	listen
-setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
+setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt __setsockopt64
 shutdown	-	shutdown	i:ii	__shutdown	shutdown
 socket		-	socket		i:iii	__socket	socket
 socketpair	-	socketpair	i:iiif	__socketpair	socketpair
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 5acbc04c87..e12ed083da 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2495,6 +2495,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 1f3058de78..340695d018 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2512,6 +2512,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 9584447358..588671f098 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2545,6 +2545,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index dff704b6b9..66aae5a9bd 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2510,6 +2510,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/setsockopt.c b/sysdeps/unix/sysv/linux/setsockopt.c
index a4780a9d33..556f7105d0 100644
--- a/sysdeps/unix/sysv/linux/setsockopt.c
+++ b/sysdeps/unix/sysv/linux/setsockopt.c
@@ -100,3 +100,6 @@  setsockopt (int fd, int level, int optname, const void *optval, socklen_t len)
   return r;
 }
 weak_alias (setsockopt, __setsockopt)
+#if __TIMESIZE != 64
+weak_alias (__setsockopt, __setsockopt64)
+#endif
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 85fc46ab7e..12660470fa 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2365,6 +2365,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index ebc2a90dac..119c2caddc 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2362,6 +2362,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 8a1d118c67..124f3e7e42 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2505,6 +2505,7 @@  GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
+GLIBC_2.34 __setsockopt64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
 GLIBC_2.34 __sigtimedwait64 F