unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 8/8] socket: Add time64 alias for setsockopt
  2021-07-05 13:41 [PATCH 0/8] Additional time64 aliases Florian Weimer via Libc-alpha
@ 2021-07-05 13:42 ` Florian Weimer via Libc-alpha
  2021-07-20  9:15   ` Lukasz Majewski
  2021-07-21 20:10   ` Adhemerval Zanella via Libc-alpha
  0 siblings, 2 replies; 15+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-07-05 13:42 UTC (permalink / raw)
  To: libc-alpha

---
 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.
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
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 0/8] Additional time64 system call wrappers
@ 2021-07-19 15:28 Florian Weimer via Libc-alpha
  2021-07-19 15:28 ` [PATCH 1/8] misc: Add time64 alias for ioctl Florian Weimer via Libc-alpha
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-07-19 15:28 UTC (permalink / raw)
  To: libc-alpha

This is a repost of the previous series with conflicts resolved.

Thanks,
Florian

Florian Weimer (8):
  misc: Add time64 alias for ioctl
  io: Add time64 alias for fcntl
  Linux: Add time64 alias for prctl
  socket: Add time64 alias for sendmmsg
  socket: Add time64 alias for recvmsg
  socket: Add time64 alias for sendmsg
  socket: Add time64 alias for getsockopt
  socket: Add time64 alias for setsockopt

 io/Makefile                                   |   2 +
 io/fcntl.h                                    |  27 ++-
 io/tst-fcntl-time64.c                         |   1 +
 misc/Makefile                                 |   7 +-
 misc/sys/ioctl.h                              |  10 +
 misc/tst-ioctl-time64.c                       |   1 +
 misc/tst-ioctl.c                              |  41 ++++
 socket/Makefile                               |   9 +-
 socket/sys/socket.h                           |  65 +++++-
 socket/tst-sockopt-time64.c                   |   1 +
 socket/tst-sockopt.c                          |  52 +++++
 sysdeps/unix/syscalls.list                    |   2 +-
 sysdeps/unix/sysv/linux/Makefile              |   8 +-
 sysdeps/unix/sysv/linux/Versions              |   8 +
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |   8 +
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |   8 +
 sysdeps/unix/sysv/linux/csky/libc.abilist     |   8 +
 sysdeps/unix/sysv/linux/fcntl64.c             |   3 +
 sysdeps/unix/sysv/linux/getsockopt.c          |   3 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |   8 +
 sysdeps/unix/sysv/linux/hppa/syscalls.list    |   2 +-
 sysdeps/unix/sysv/linux/i386/libc.abilist     |   8 +
 .../sysv/linux/m68k/coldfire/libc.abilist     |   8 +
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |   8 +
 .../sysv/linux/microblaze/be/libc.abilist     |   8 +
 .../sysv/linux/microblaze/le/libc.abilist     |   8 +
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |   8 +
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |   8 +
 .../sysv/linux/mips/mips64/n32/libc.abilist   |   8 +
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |   8 +
 sysdeps/unix/sysv/linux/powerpc/ioctl.c       |   3 +
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |   8 +
 .../powerpc/powerpc32/nofpu/libc.abilist      |   8 +
 sysdeps/unix/sysv/linux/prctl.c               |   3 +
 sysdeps/unix/sysv/linux/recvmsg.c             |   3 +
 .../unix/sysv/linux/s390/s390-32/libc.abilist |   8 +
 sysdeps/unix/sysv/linux/sendmmsg.c            |   3 +
 sysdeps/unix/sysv/linux/sendmsg.c             |   3 +
 sysdeps/unix/sysv/linux/setsockopt.c          |   3 +
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |   8 +
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |   8 +
 .../sysv/linux/sparc/sparc32/libc.abilist     |   8 +
 sysdeps/unix/sysv/linux/sys/prctl.h           |  10 +
 sysdeps/unix/sysv/linux/tst-prctl-time64.c    |   1 +
 sysdeps/unix/sysv/linux/tst-prctl.c           |  33 ++++
 .../unix/sysv/linux/tst-scm_rights-time64.c   |   1 +
 sysdeps/unix/sysv/linux/tst-scm_rights.c      | 186 ++++++++++++++++++
 47 files changed, 629 insertions(+), 14 deletions(-)
 create mode 100644 io/tst-fcntl-time64.c
 create mode 100644 misc/tst-ioctl-time64.c
 create mode 100644 misc/tst-ioctl.c
 create mode 100644 socket/tst-sockopt-time64.c
 create mode 100644 socket/tst-sockopt.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-prctl-time64.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-prctl.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-scm_rights-time64.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-scm_rights.c

-- 
2.31.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/8] misc: Add time64 alias for ioctl
  2021-07-19 15:28 [PATCH v2 0/8] Additional time64 system call wrappers Florian Weimer via Libc-alpha
@ 2021-07-19 15:28 ` Florian Weimer via Libc-alpha
  2021-07-19 15:28 ` [PATCH 2/8] io: Add time64 alias for fcntl Florian Weimer via Libc-alpha
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-07-19 15:28 UTC (permalink / raw)
  To: libc-alpha

---
 misc/Makefile                                 |  7 +++-
 misc/sys/ioctl.h                              | 10 +++++
 misc/tst-ioctl-time64.c                       |  1 +
 misc/tst-ioctl.c                              | 41 +++++++++++++++++++
 sysdeps/unix/syscalls.list                    |  2 +-
 sysdeps/unix/sysv/linux/Versions              |  2 +
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  1 +
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  1 +
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  1 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  1 +
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  1 +
 .../sysv/linux/m68k/coldfire/libc.abilist     |  1 +
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  1 +
 .../sysv/linux/microblaze/be/libc.abilist     |  1 +
 .../sysv/linux/microblaze/le/libc.abilist     |  1 +
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  1 +
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  1 +
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  1 +
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  1 +
 sysdeps/unix/sysv/linux/powerpc/ioctl.c       |  3 ++
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  1 +
 .../powerpc/powerpc32/nofpu/libc.abilist      |  1 +
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  1 +
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  1 +
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  1 +
 .../sysv/linux/sparc/sparc32/libc.abilist     |  1 +
 26 files changed, 82 insertions(+), 3 deletions(-)
 create mode 100644 misc/tst-ioctl-time64.c
 create mode 100644 misc/tst-ioctl.c

diff --git a/misc/Makefile b/misc/Makefile
index ae03e26f1b..22923efde9 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -88,11 +88,14 @@ tests := tst-dirname tst-tsearch tst-fdset tst-mntent tst-hsearch \
 	 tst-preadvwritev tst-preadvwritev64 tst-makedev tst-empty \
 	 tst-preadvwritev2 tst-preadvwritev64v2 tst-warn-wide \
 	 tst-ldbl-warn tst-ldbl-error tst-dbl-efgcvt tst-ldbl-efgcvt \
-	 tst-mntent-autofs tst-syscalls tst-mntent-escape tst-select
+	 tst-mntent-autofs tst-syscalls tst-mntent-escape tst-select \
+	 tst-ioctl
 
 tests-time64 := \
   tst-select-time64 \
-  tst-pselect-time64
+  tst-pselect-time64 \
+  tst-ioctl-time64 \
+  # tests-time64
 
 # Tests which need libdl.
 ifeq (yes,$(build-shared))
diff --git a/misc/sys/ioctl.h b/misc/sys/ioctl.h
index ddd204d95f..6884d9925f 100644
--- a/misc/sys/ioctl.h
+++ b/misc/sys/ioctl.h
@@ -38,7 +38,17 @@ __BEGIN_DECLS
 /* Perform the I/O control operation specified by REQUEST on FD.
    One argument may follow; its presence and type depend on REQUEST.
    Return value depends on REQUEST.  Usually -1 indicates error.  */
+#ifndef __USE_TIME_BITS64
 extern int ioctl (int __fd, unsigned long int __request, ...) __THROW;
+#else
+# ifdef __REDIRECT
+extern int __REDIRECT (ioctl, (int __fd, unsigned long int __request, ...),
+		       __ioctl_time64) __THROW;
+# else
+extern int __ioctl_time64 (int __fd, unsigned long int __request, ...) __THROW;
+#  define ioctl __ioctl_time64
+# endif
+#endif
 
 __END_DECLS
 
diff --git a/misc/tst-ioctl-time64.c b/misc/tst-ioctl-time64.c
new file mode 100644
index 0000000000..c73e8f649b
--- /dev/null
+++ b/misc/tst-ioctl-time64.c
@@ -0,0 +1 @@
+#include "tst-ioctl.c"
diff --git a/misc/tst-ioctl.c b/misc/tst-ioctl.c
new file mode 100644
index 0000000000..a09b8ae836
--- /dev/null
+++ b/misc/tst-ioctl.c
@@ -0,0 +1,41 @@
+/* Smoke test for ioctl.
+   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 <support/check.h>
+#include <support/xunistd.h>
+#include <sys/ioctl.h>
+#include <sys/socket.h>
+
+static int
+do_test (void)
+{
+  int pair[2];
+  TEST_COMPARE (socketpair (AF_UNIX, SOCK_STREAM, 0, pair), 0);
+  TEST_COMPARE (write (pair[0], "buffer", sizeof ("buffer")),
+                sizeof ("buffer"));
+  int value;
+  TEST_COMPARE (ioctl (pair[1], FIONREAD, &value), 0);
+  TEST_COMPARE (value, sizeof ("buffer"));
+  TEST_COMPARE (ioctl (pair[0], FIONREAD, &value), 0);
+  TEST_COMPARE (value, 0);
+  xclose (pair[0]);
+  xclose (pair[1]);
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list
index 341eec20f1..10bd409eef 100644
--- a/sysdeps/unix/syscalls.list
+++ b/sysdeps/unix/syscalls.list
@@ -32,7 +32,7 @@ getrlimit	-	getrlimit	i:ip	__getrlimit	getrlimit
 getsockname	-	getsockname	i:ibN	__getsockname	getsockname
 getsockopt	-	getsockopt	i:iiiBN	getsockopt
 getuid		-	getuid		Ei:	__getuid	getuid
-ioctl		-	ioctl		i:iiI	__ioctl		ioctl
+ioctl		-	ioctl		i:iiI	__ioctl		ioctl __ioctl_time64
 kill		-	kill		i:ii	__kill		kill
 link		-	link		i:ss	__link		link
 listen		-	listen		i:ii	__listen	listen
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index 4884216825..4f0e167dd4 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -209,6 +209,7 @@ libc {
     __ctime64;
     __ctime64_r;
     __difftime64;
+    __fcntl_time64;
     __fstat64_time64;
     __fstatat64_time64;
     __futimens64;
@@ -229,6 +230,7 @@ libc {
     __globfree64_time64;
     __gmtime64;
     __gmtime64_r;
+    __ioctl_time64;
     __localtime64;
     __localtime64_r;
     __lstat64_time64;
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 1e73617837..bfb5d09693 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -222,6 +222,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 2bd1f4a0f4..cd64167174 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -219,6 +219,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 0b3a2310f4..121e5ad9f5 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2378,6 +2378,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 230eb0c85a..1ef566907a 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2329,6 +2329,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index d58620d817..287cd4e574 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2512,6 +2512,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __isnanf128 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 9b9d0dff9d..f01a129159 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -223,6 +223,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 6d48dc726c..beb2453809 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2456,6 +2456,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 6abbed158e..5ab2304162 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2429,6 +2429,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 8b9ae1f072..c3a61c96f0 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2426,6 +2426,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 095c2ea5da..1e66953b64 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2421,6 +2421,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index bc1a353726..cd26df6cc0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2419,6 +2419,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 63db2192c9..a5002c8f67 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2427,6 +2427,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 2303e12935..04f33cafcb 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2468,6 +2468,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/powerpc/ioctl.c b/sysdeps/unix/sysv/linux/powerpc/ioctl.c
index 1ee9d19d4d..a81c7ba54c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/ioctl.c
+++ b/sysdeps/unix/sysv/linux/powerpc/ioctl.c
@@ -63,3 +63,6 @@ __ioctl (int fd, unsigned long int request, ...)
 }
 libc_hidden_def (__ioctl)
 weak_alias (__ioctl, ioctl)
+#if __TIMESIZE != 64
+weak_alias (__ioctl, __ioctl_time64)
+#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index b51067a81f..089577f914 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2483,6 +2483,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index c5112da9e5..fc97125521 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2516,6 +2516,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index f803a1093c..e16ddd9010 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2481,6 +2481,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index fcb9c99713..343784350d 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2336,6 +2336,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index aa294c7685..4e7c6bac01 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2333,6 +2333,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index f5f6bf24fd..9274380630 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2476,6 +2476,7 @@ GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
 GLIBC_2.34 __gmtime64 F
 GLIBC_2.34 __gmtime64_r F
+GLIBC_2.34 __ioctl_time64 F
 GLIBC_2.34 __libc_start_main F
 GLIBC_2.34 __localtime64 F
 GLIBC_2.34 __localtime64_r F
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 2/8] io: Add time64 alias for fcntl
  2021-07-19 15:28 [PATCH v2 0/8] Additional time64 system call wrappers Florian Weimer via Libc-alpha
  2021-07-19 15:28 ` [PATCH 1/8] misc: Add time64 alias for ioctl Florian Weimer via Libc-alpha
@ 2021-07-19 15:28 ` Florian Weimer via Libc-alpha
  2021-07-19 15:28 ` [PATCH 3/8] Linux: Add time64 alias for prctl Florian Weimer via Libc-alpha
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-07-19 15:28 UTC (permalink / raw)
  To: libc-alpha

---
 io/Makefile                                   |  2 ++
 io/fcntl.h                                    | 27 ++++++++++++++-----
 io/tst-fcntl-time64.c                         |  1 +
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  1 +
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  1 +
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  1 +
 sysdeps/unix/sysv/linux/fcntl64.c             |  3 +++
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  1 +
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  1 +
 .../sysv/linux/m68k/coldfire/libc.abilist     |  1 +
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  1 +
 .../sysv/linux/microblaze/be/libc.abilist     |  1 +
 .../sysv/linux/microblaze/le/libc.abilist     |  1 +
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  1 +
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  1 +
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  1 +
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  1 +
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  1 +
 .../powerpc/powerpc32/nofpu/libc.abilist      |  1 +
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  1 +
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  1 +
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  1 +
 .../sysv/linux/sparc/sparc32/libc.abilist     |  1 +
 23 files changed, 45 insertions(+), 7 deletions(-)
 create mode 100644 io/tst-fcntl-time64.c

diff --git a/io/Makefile b/io/Makefile
index ebb7d56d67..9871ecbc74 100644
--- a/io/Makefile
+++ b/io/Makefile
@@ -90,6 +90,8 @@ tests-time64 := \
   tst-utime-time64 \
   tst-utimensat-time64 \
   tst-utimes-time64 \
+  tst-fcntl-time64 \
+  # tests-time64
 
 # Likewise for statx, but we do not need static linking here.
 tests-internal += tst-statx tst-file_change_detection
diff --git a/io/fcntl.h b/io/fcntl.h
index f3b5e0ef77..8917a73b42 100644
--- a/io/fcntl.h
+++ b/io/fcntl.h
@@ -172,17 +172,30 @@ typedef __pid_t pid_t;
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-#ifndef __USE_FILE_OFFSET64
+#ifndef __USE_TIME_BITS64
+# ifndef __USE_FILE_OFFSET64
 extern int fcntl (int __fd, int __cmd, ...);
-#else
-# ifdef __REDIRECT
-extern int __REDIRECT (fcntl, (int __fd, int __cmd, ...), fcntl64);
 # else
-#  define fcntl fcntl64
+#  ifdef __REDIRECT
+extern int __REDIRECT (fcntl, (int __fd, int __cmd, ...), fcntl64);
+#  else
+#   define fcntl fcntl64
+#  endif
 # endif
-#endif
-#ifdef __USE_LARGEFILE64
+# ifdef __USE_LARGEFILE64
 extern int fcntl64 (int __fd, int __cmd, ...);
+# endif
+#else /* __USE_TIME_BITS64 */
+# ifdef __REDIRECT
+extern int __REDIRECT (fcntl, (int __fd, int __request, ...),
+		       __fcntl_time64)  __THROW;
+extern int __REDIRECT (fcntl64, (int __fd, int __request, ...),
+		       __fcntl_time64)  __THROW;
+# else
+extern int __fcntl_time64 (int __fd, int __request, ...) __THROW;
+#  define fcntl64 __fcntl_time64
+#  define fcntl __fcntl_time64
+# endif
 #endif
 
 /* Open FILE and return a new file descriptor for it, or -1 on error.
diff --git a/io/tst-fcntl-time64.c b/io/tst-fcntl-time64.c
new file mode 100644
index 0000000000..ef4a5182cb
--- /dev/null
+++ b/io/tst-fcntl-time64.c
@@ -0,0 +1 @@
+#include "tst-fcntl.c"
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index bfb5d09693..225cd17730 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -203,6 +203,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index cd64167174..3731f38a0b 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -200,6 +200,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 121e5ad9f5..6678218715 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2359,6 +2359,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/fcntl64.c b/sysdeps/unix/sysv/linux/fcntl64.c
index ed19c327b9..e65233de4b 100644
--- a/sysdeps/unix/sysv/linux/fcntl64.c
+++ b/sysdeps/unix/sysv/linux/fcntl64.c
@@ -54,6 +54,9 @@ libc_hidden_def (__libc_fcntl64)
 weak_alias (__libc_fcntl64, __fcntl64)
 libc_hidden_weak (__fcntl64)
 weak_alias (__libc_fcntl64, fcntl64)
+#if __TIMESIZE != 64
+weak_alias (__libc_fcntl64, __fcntl_time64)
+#endif
 
 #ifdef __OFF_T_MATCHES_OFF64_T
 weak_alias (__libc_fcntl64, __libc_fcntl)
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 1ef566907a..8f105d3de5 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2310,6 +2310,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 287cd4e574..53ddabd021 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2493,6 +2493,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index f01a129159..23168e8042 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -204,6 +204,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index beb2453809..a63ac5624b 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2437,6 +2437,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 5ab2304162..f9f6dfb8b5 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2410,6 +2410,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index c3a61c96f0..97d03fae0c 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2407,6 +2407,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 1e66953b64..0deeb17651 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2402,6 +2402,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index cd26df6cc0..55432c52b7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2400,6 +2400,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index a5002c8f67..daa0d49906 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2408,6 +2408,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 04f33cafcb..36dcfc8839 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2449,6 +2449,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 089577f914..8283409237 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2464,6 +2464,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index fc97125521..590eda0af6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2497,6 +2497,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index e16ddd9010..08b02158a1 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2462,6 +2462,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 343784350d..416db82cbd 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2317,6 +2317,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 4e7c6bac01..6be813c3db 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2314,6 +2314,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 9274380630..ce61dd9556 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2457,6 +2457,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 3/8] Linux: Add time64 alias for prctl
  2021-07-19 15:28 [PATCH v2 0/8] Additional time64 system call wrappers Florian Weimer via Libc-alpha
  2021-07-19 15:28 ` [PATCH 1/8] misc: Add time64 alias for ioctl Florian Weimer via Libc-alpha
  2021-07-19 15:28 ` [PATCH 2/8] io: Add time64 alias for fcntl Florian Weimer via Libc-alpha
@ 2021-07-19 15:28 ` Florian Weimer via Libc-alpha
  2021-07-19 15:28 ` [PATCH 4/8] socket: Add time64 alias for sendmmsg Florian Weimer via Libc-alpha
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-07-19 15:28 UTC (permalink / raw)
  To: libc-alpha

---
 sysdeps/unix/sysv/linux/Makefile              |  6 +++-
 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/csky/libc.abilist     |  1 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  1 +
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  1 +
 .../sysv/linux/m68k/coldfire/libc.abilist     |  1 +
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  1 +
 .../sysv/linux/microblaze/be/libc.abilist     |  1 +
 .../sysv/linux/microblaze/le/libc.abilist     |  1 +
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  1 +
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  1 +
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  1 +
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  1 +
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  1 +
 .../powerpc/powerpc32/nofpu/libc.abilist      |  1 +
 sysdeps/unix/sysv/linux/prctl.c               |  3 ++
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  1 +
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  1 +
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  1 +
 .../sysv/linux/sparc/sparc32/libc.abilist     |  1 +
 sysdeps/unix/sysv/linux/sys/prctl.h           | 10 ++++++
 sysdeps/unix/sysv/linux/tst-prctl-time64.c    |  1 +
 sysdeps/unix/sysv/linux/tst-prctl.c           | 33 +++++++++++++++++++
 25 files changed, 72 insertions(+), 1 deletion(-)
 create mode 100644 sysdeps/unix/sysv/linux/tst-prctl-time64.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-prctl.c

diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index cceb16be05..123f15c2e3 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -120,7 +120,9 @@ tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \
 	 tst-timerfd tst-ppoll \
 	 tst-clock_adjtime tst-adjtimex tst-ntp_adjtime tst-ntp_gettime \
 	 tst-ntp_gettimex tst-sigtimedwait tst-misalign-clone \
-	 tst-close_range
+  tst-close_range \
+  tst-prctl \
+  # tests
 
 # Test for the symbol version of fcntl that was replaced in glibc 2.28.
 ifeq ($(have-GLIBC_2.27)$(build-shared),yesyes)
@@ -138,6 +140,8 @@ tests-time64 += \
   tst-ppoll-time64 \
   tst-sigtimedwait-time64 \
   tst-timerfd-time64 \
+  tst-prctl-time64 \
+  # tests-time64
 
 tests-clone-internal = \
   tst-align-clone-internal \
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index 4f0e167dd4..cff3d476da 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -245,6 +245,7 @@ libc {
     __ntp_gettime64;
     __ntp_gettimex64;
     __ppoll64;
+    __prctl_time64;
     __pselec64;
     __pselect64;
     __pthread_clockjoin_np64;
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 225cd17730..a108dccfe9 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -240,6 +240,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 3731f38a0b..3511d35f5e 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -237,6 +237,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 6678218715..40342891a5 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2396,6 +2396,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 8f105d3de5..1502aaddd4 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2347,6 +2347,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 53ddabd021..70a0f7f1c3 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2531,6 +2531,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 23168e8042..13ac607c49 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -241,6 +241,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index a63ac5624b..662a519095 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2474,6 +2474,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index f9f6dfb8b5..fc0c6b6acc 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2447,6 +2447,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 97d03fae0c..56a52de049 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2444,6 +2444,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 0deeb17651..4aa9e33b7d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2439,6 +2439,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 55432c52b7..1c1227301b 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2437,6 +2437,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index daa0d49906..876893455e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2445,6 +2445,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 36dcfc8839..dc41e17487 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2486,6 +2486,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 8283409237..9e3311a978 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2501,6 +2501,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 590eda0af6..2ac6aa068f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2534,6 +2534,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/prctl.c b/sysdeps/unix/sysv/linux/prctl.c
index 85ad4cdd83..2af7b307ef 100644
--- a/sysdeps/unix/sysv/linux/prctl.c
+++ b/sysdeps/unix/sysv/linux/prctl.c
@@ -40,3 +40,6 @@ __prctl (int option, ...)
 
 libc_hidden_def (__prctl)
 weak_alias (__prctl, prctl)
+#if __TIMESIZE != 64
+weak_alias (__prctl, __prctl_time64)
+#endif
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 08b02158a1..644f6b734c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2499,6 +2499,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 416db82cbd..369dccc4af 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2354,6 +2354,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 6be813c3db..4254360898 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2351,6 +2351,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index ce61dd9556..31f43ed414 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2494,6 +2494,7 @@ GLIBC_2.34 __nftw64_time64 F
 GLIBC_2.34 __ntp_gettime64 F
 GLIBC_2.34 __ntp_gettimex64 F
 GLIBC_2.34 __ppoll64 F
+GLIBC_2.34 __prctl_time64 F
 GLIBC_2.34 __pselect64 F
 GLIBC_2.34 __pthread_cleanup_routine F
 GLIBC_2.34 __pthread_clockjoin_np64 F
diff --git a/sysdeps/unix/sysv/linux/sys/prctl.h b/sysdeps/unix/sysv/linux/sys/prctl.h
index c9048c7cdb..db88938b3a 100644
--- a/sysdeps/unix/sysv/linux/sys/prctl.h
+++ b/sysdeps/unix/sysv/linux/sys/prctl.h
@@ -38,7 +38,17 @@
 __BEGIN_DECLS
 
 /* Control process execution.  */
+#ifndef __USE_TIME_BITS64
 extern int prctl (int __option, ...) __THROW;
+#else
+# ifdef __REDIRECT
+extern int __REDIRECT (prctl, (int __option, ...), __prctl_time64) __THROW;
+# else
+extern int __prctl_time64 (int __option,d ...) __THROW;
+#  define ioctl __prctl_time64
+# endif
+#endif
+
 
 __END_DECLS
 
diff --git a/sysdeps/unix/sysv/linux/tst-prctl-time64.c b/sysdeps/unix/sysv/linux/tst-prctl-time64.c
new file mode 100644
index 0000000000..d233e12bf4
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/tst-prctl-time64.c
@@ -0,0 +1 @@
+#include "tst-prctl.c"
diff --git a/sysdeps/unix/sysv/linux/tst-prctl.c b/sysdeps/unix/sysv/linux/tst-prctl.c
new file mode 100644
index 0000000000..a9dd1dcd85
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/tst-prctl.c
@@ -0,0 +1,33 @@
+/* Smoke test for prctl.
+   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 <sys/prctl.h>
+#include <support/check.h>
+
+static int
+do_test (void)
+{
+  TEST_COMPARE (prctl (PR_SET_NAME, "thread name", 0, 0, 0), 0);
+  char buffer[16] = { 0, };
+  TEST_COMPARE (prctl (PR_GET_NAME, buffer, 0, 0, 0), 0);
+  char expected[16] = "thread name";
+  TEST_COMPARE_BLOB (buffer, sizeof (buffer), expected, sizeof (expected));
+  return 0;
+}
+
+#include <support/test-driver.c>
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 4/8] socket: Add time64 alias for sendmmsg
  2021-07-19 15:28 [PATCH v2 0/8] Additional time64 system call wrappers Florian Weimer via Libc-alpha
                   ` (2 preceding siblings ...)
  2021-07-19 15:28 ` [PATCH 3/8] Linux: Add time64 alias for prctl Florian Weimer via Libc-alpha
@ 2021-07-19 15:28 ` Florian Weimer via Libc-alpha
  2021-07-19 15:28 ` [PATCH 5/8] socket: Add time64 alias for recvmsg Florian Weimer via Libc-alpha
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-07-19 15:28 UTC (permalink / raw)
  To: libc-alpha

---
 socket/sys/socket.h                           |  14 +-
 sysdeps/unix/sysv/linux/Makefile              |   2 +
 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/csky/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |   1 +
 sysdeps/unix/sysv/linux/i386/libc.abilist     |   1 +
 .../sysv/linux/m68k/coldfire/libc.abilist     |   1 +
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |   1 +
 .../sysv/linux/microblaze/be/libc.abilist     |   1 +
 .../sysv/linux/microblaze/le/libc.abilist     |   1 +
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |   1 +
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |   1 +
 .../sysv/linux/mips/mips64/n32/libc.abilist   |   1 +
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |   1 +
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |   1 +
 .../powerpc/powerpc32/nofpu/libc.abilist      |   1 +
 .../unix/sysv/linux/s390/s390-32/libc.abilist |   1 +
 sysdeps/unix/sysv/linux/sendmmsg.c            |   3 +
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |   1 +
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |   1 +
 .../sysv/linux/sparc/sparc32/libc.abilist     |   1 +
 .../unix/sysv/linux/tst-scm_rights-time64.c   |   1 +
 sysdeps/unix/sysv/linux/tst-scm_rights.c      | 186 ++++++++++++++++++
 25 files changed, 225 insertions(+), 1 deletion(-)
 create mode 100644 sysdeps/unix/sysv/linux/tst-scm_rights-time64.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-scm_rights.c

diff --git a/socket/sys/socket.h b/socket/sys/socket.h
index 5577e75b80..d02d976bb5 100644
--- a/socket/sys/socket.h
+++ b/socket/sys/socket.h
@@ -179,9 +179,21 @@ extern ssize_t sendmsg (int __fd, const struct msghdr *__message,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
+# ifndef __USE_TIME_BITS64
 extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
 		     unsigned int __vlen, int __flags);
-#endif
+# else
+#  ifdef __REDIRECT
+extern int __REDIRECT (sendmmsg, (int __fd, struct mmsghdr *__vmessages,
+				  unsigned int __vlen, int __flags),
+		       __sendmmsg64);
+#  else
+extern int __sendmmsg64 (int __fd, struct mmsghdr *__vmessages,
+			 unsigned int __vlen, int __flags);
+#   define sendmmsg __sendmmsg64
+#  endif
+# endif	 /* __USE_TIME_BITS64 */
+#endif /* __USE_GNU */
 
 /* Receive a message as described by MESSAGE from socket FD.
    Returns the number of bytes read or -1 for errors.
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index 123f15c2e3..76ad06361c 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -122,6 +122,7 @@ tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \
 	 tst-ntp_gettimex tst-sigtimedwait tst-misalign-clone \
   tst-close_range \
   tst-prctl \
+  tst-scm_rights \
   # tests
 
 # Test for the symbol version of fcntl that was replaced in glibc 2.28.
@@ -141,6 +142,7 @@ tests-time64 += \
   tst-sigtimedwait-time64 \
   tst-timerfd-time64 \
   tst-prctl-time64 \
+  tst-scm_rights-time64 \
   # tests-time64
 
 tests-clone-internal = \
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index cff3d476da..a8ec041371 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -265,6 +265,7 @@ libc {
     __semctl64;
     __semtimedop64;
     __sem_timedwait64;
+    __sendmmsg64;
     __setitimer64;
     __settimeofday64;
     __shmctl64;
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index a108dccfe9..740081f235 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -266,6 +266,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 3511d35f5e..55f17e1ee3 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -263,6 +263,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 40342891a5..610f59aad7 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2422,6 +2422,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 1502aaddd4..3c6ce135e2 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2373,6 +2373,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 70a0f7f1c3..2fae97c00c 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2557,6 +2557,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 13ac607c49..c146c01b62 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -267,6 +267,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 662a519095..dc23970913 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2500,6 +2500,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index fc0c6b6acc..63b86f4613 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2473,6 +2473,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 56a52de049..4f2811c869 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2470,6 +2470,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 4aa9e33b7d..b3491fd1db 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2465,6 +2465,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 1c1227301b..7d56039df5 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2463,6 +2463,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 876893455e..0898b26a90 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2471,6 +2471,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index dc41e17487..19b42df933 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2512,6 +2512,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 9e3311a978..09179d2a48 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2527,6 +2527,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 2ac6aa068f..d45be8ab9e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2560,6 +2560,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 644f6b734c..c290ae4948 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2525,6 +2525,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/sendmmsg.c b/sysdeps/unix/sysv/linux/sendmmsg.c
index 6093e9ed70..10aaff4d1f 100644
--- a/sysdeps/unix/sysv/linux/sendmmsg.c
+++ b/sysdeps/unix/sysv/linux/sendmmsg.c
@@ -35,3 +35,6 @@ __sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
 }
 libc_hidden_def (__sendmmsg)
 weak_alias (__sendmmsg, sendmmsg)
+#if __TIMESIZE != 64
+weak_alias (__sendmmsg, __sendmmsg64)
+#endif
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 369dccc4af..714f7d4f55 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2380,6 +2380,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 4254360898..9f858a4f68 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2377,6 +2377,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 31f43ed414..2420775e21 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2520,6 +2520,7 @@ GLIBC_2.34 __sem_clockwait64 F
 GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
+GLIBC_2.34 __sendmmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/tst-scm_rights-time64.c b/sysdeps/unix/sysv/linux/tst-scm_rights-time64.c
new file mode 100644
index 0000000000..302613cbfa
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/tst-scm_rights-time64.c
@@ -0,0 +1 @@
+#include "tst-scm_rights.c"
diff --git a/sysdeps/unix/sysv/linux/tst-scm_rights.c b/sysdeps/unix/sysv/linux/tst-scm_rights.c
new file mode 100644
index 0000000000..c85b873125
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/tst-scm_rights.c
@@ -0,0 +1,186 @@
+/* Smoke test for SCM_RIGHTS.
+   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/>.  */
+
+/* This test passes a file descriptor from a subprocess to the parent
+   process, using recvmsg/sendmsg or recvmmsg/sendmmsg.  */
+
+#include <fcntl.h>
+#include <signal.h>
+#include <stdbool.h>
+#include <string.h>
+#include <support/check.h>
+#include <support/xunistd.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+/* String sent over the socket.  */
+static char DATA[] = "descriptor";
+
+/* Path that is to be opened and sent over the socket.  */
+#define PATH "/etc"
+
+/* True if sendmmsg/recvmmsg is to be used.  */
+static bool use_multi_call;
+
+/* The pair of sockets used for coordination.  The subprocess uses
+   sockets[1].  */
+static int sockets[2];
+
+/* Subprocess side of one send/receive test.  */
+_Noreturn static void
+subprocess (void)
+{
+  /* The file descriptor to send.  */
+  int fd = xopen (PATH, O_RDONLY, 0);
+
+  struct iovec iov = { .iov_base = DATA, .iov_len = sizeof (DATA) };
+  union
+  {
+    struct cmsghdr header;
+    char bytes[CMSG_SPACE (sizeof (int))];
+  } cmsg_storage;
+  struct mmsghdr mmhdr =
+    {
+      .msg_hdr =
+      {
+        .msg_iov = &iov,
+        .msg_iovlen = 1,
+        .msg_control = cmsg_storage.bytes,
+        .msg_controllen = sizeof (cmsg_storage),
+      },
+    };
+
+  /* Configure the file descriptor for sending.  */
+  struct cmsghdr *cmsg = CMSG_FIRSTHDR (&mmhdr.msg_hdr);
+  cmsg->cmsg_level = SOL_SOCKET;
+  cmsg->cmsg_type = SCM_RIGHTS;
+  cmsg->cmsg_len = CMSG_LEN (sizeof (int));
+  memcpy (CMSG_DATA (cmsg), &fd, sizeof (fd));
+  mmhdr.msg_hdr.msg_controllen = cmsg->cmsg_len;
+
+  /* Perform the send operation.  */
+  int ret;
+  if (use_multi_call)
+    {
+      ret = sendmmsg (sockets[1], &mmhdr, 1, 0);
+      if (ret >= 0)
+        ret = mmhdr.msg_len;
+    }
+  else
+    ret = sendmsg (sockets[1], &mmhdr.msg_hdr, 0);
+  TEST_COMPARE (ret, sizeof (DATA));
+
+  xclose (fd);
+
+  /* Stop the process from exiting.  */
+  while (true)
+    pause ();
+}
+
+/* Performs one send/receive test.  */
+static void
+one_test (void)
+{
+  TEST_COMPARE (socketpair (AF_UNIX, SOCK_STREAM, 0, sockets), 0);
+
+  pid_t pid = xfork ();
+  if (pid == 0)
+    subprocess ();
+
+  char data_storage[sizeof (DATA) + 1];
+  struct iovec iov =
+    {
+      .iov_base = data_storage,
+      .iov_len = sizeof (data_storage)
+    };
+  union
+  {
+    struct cmsghdr header;
+    char bytes[CMSG_SPACE (sizeof (int))];
+  } cmsg_storage;
+  struct mmsghdr mmhdr =
+    {
+      .msg_hdr =
+      {
+        .msg_iov = &iov,
+        .msg_iovlen = 1,
+        .msg_control = cmsg_storage.bytes,
+        .msg_controllen = sizeof (cmsg_storage),
+      },
+    };
+
+  /* Set up the space for receiving the file descriptor.  */
+  struct cmsghdr *cmsg = CMSG_FIRSTHDR (&mmhdr.msg_hdr);
+  cmsg->cmsg_level = SOL_SOCKET;
+  cmsg->cmsg_type = SCM_RIGHTS;
+  cmsg->cmsg_len = CMSG_LEN (sizeof (int));
+  mmhdr.msg_hdr.msg_controllen = cmsg->cmsg_len;
+
+  /* Perform the receive operation.  */
+  int ret;
+  if (use_multi_call)
+    {
+      ret = recvmmsg (sockets[0], &mmhdr, 1, 0, NULL);
+      if (ret >= 0)
+        ret = mmhdr.msg_len;
+    }
+  else
+    ret = recvmsg (sockets[0], &mmhdr.msg_hdr, 0);
+  TEST_COMPARE (ret, sizeof (DATA));
+  TEST_COMPARE_BLOB (data_storage, sizeof (DATA), DATA, sizeof (DATA));
+
+  /* Extract the file descriptor.  */
+  TEST_VERIFY (CMSG_FIRSTHDR (&mmhdr.msg_hdr) != NULL);
+  TEST_COMPARE (CMSG_FIRSTHDR (&mmhdr.msg_hdr)->cmsg_len,
+                CMSG_LEN (sizeof (int)));
+  TEST_VERIFY (&cmsg_storage.header == CMSG_FIRSTHDR (&mmhdr.msg_hdr));
+  int fd;
+  memcpy (&fd, CMSG_DATA (CMSG_FIRSTHDR (&mmhdr.msg_hdr)), sizeof (fd));
+
+  /* Verify the received file descriptor.  */
+  TEST_VERIFY (fd > 2);
+  struct stat64 st_fd;
+  TEST_COMPARE (fstat64 (fd, &st_fd), 0);
+  struct stat64 st_path;
+  TEST_COMPARE (stat64 (PATH, &st_path), 0);
+  TEST_COMPARE (st_fd.st_ino, st_path.st_ino);
+  TEST_COMPARE (st_fd.st_dev, st_path.st_dev);
+  xclose (fd);
+
+  /* Terminate the subprocess.  */
+  TEST_COMPARE (kill (pid, SIGUSR1), 0);
+  int status;
+  TEST_COMPARE (xwaitpid (pid, &status, 0), pid);
+  TEST_VERIFY (WIFSIGNALED (status));
+  TEST_COMPARE (WTERMSIG (status), SIGUSR1);
+
+  xclose (sockets[0]);
+  xclose (sockets[1]);
+}
+
+static int
+do_test (void)
+{
+  one_test ();
+  use_multi_call = true;
+  one_test ();
+  return 0;
+}
+
+#include <support/test-driver.c>
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 5/8] socket: Add time64 alias for recvmsg
  2021-07-19 15:28 [PATCH v2 0/8] Additional time64 system call wrappers Florian Weimer via Libc-alpha
                   ` (3 preceding siblings ...)
  2021-07-19 15:28 ` [PATCH 4/8] socket: Add time64 alias for sendmmsg Florian Weimer via Libc-alpha
@ 2021-07-19 15:28 ` Florian Weimer via Libc-alpha
  2021-07-19 15:29 ` [PATCH 6/8] socket: Add time64 alias for sendmsg Florian Weimer via Libc-alpha
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-07-19 15:28 UTC (permalink / raw)
  To: libc-alpha

---
 socket/sys/socket.h                                   | 11 +++++++++++
 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/csky/libc.abilist             |  1 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist             |  1 +
 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 +
 sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  1 +
 .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  1 +
 sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  1 +
 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/recvmsg.c                     |  3 +++
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  1 +
 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 +
 22 files changed, 34 insertions(+)

diff --git a/socket/sys/socket.h b/socket/sys/socket.h
index d02d976bb5..b70ba58ba6 100644
--- a/socket/sys/socket.h
+++ b/socket/sys/socket.h
@@ -200,7 +200,18 @@ extern int __sendmmsg64 (int __fd, struct mmsghdr *__vmessages,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
+#ifndef __USE_TIME_BITS64
 extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags);
+#else
+# ifdef __REDIRECT
+extern ssize_t __REDIRECT (recvmsg,
+			   (int __fd, struct msghdr *__message, int __flags),
+			   __recvmsg64);
+# else
+extern ssize_t __recvmsg64 (int __fd, struct msghdr *__message, int __flags);
+#  define recvmsg __recvmsg64
+# endif
+#endif
 
 #ifdef __USE_GNU
 /* Receive up to VLEN messages as described by VMESSAGES from socket FD.
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index a8ec041371..8cc7d6ea15 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -259,6 +259,7 @@ libc {
     __pthread_rwlock_timedwrlock64;
     __pthread_timedjoin_np64;
     __recvmmsg64;
+    __recvmsg64;
     __sched_rr_get_interval64;
     __select64;
     __sem_clockwait64;
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 740081f235..5966d4b869 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -260,6 +260,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 55f17e1ee3..0ba0a7f031 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -257,6 +257,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 610f59aad7..59b6af995f 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2416,6 +2416,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 3c6ce135e2..cf9f0372d0 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2367,6 +2367,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 2fae97c00c..e1b9ad8229 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2551,6 +2551,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index c146c01b62..6c6e132c12 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -261,6 +261,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index dc23970913..4a5a31a54b 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2494,6 +2494,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 63b86f4613..638ee4d1d8 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2467,6 +2467,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 4f2811c869..d6b6c85f74 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2464,6 +2464,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index b3491fd1db..8bab590546 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2459,6 +2459,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 7d56039df5..33cc242f26 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2457,6 +2457,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 0898b26a90..b8d2cceade 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2465,6 +2465,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 19b42df933..f99820e4ff 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2506,6 +2506,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 09179d2a48..1e7837c971 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2521,6 +2521,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index d45be8ab9e..de62b347b0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2554,6 +2554,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/recvmsg.c b/sysdeps/unix/sysv/linux/recvmsg.c
index 57c3cf7e36..07212f7c86 100644
--- a/sysdeps/unix/sysv/linux/recvmsg.c
+++ b/sysdeps/unix/sysv/linux/recvmsg.c
@@ -43,3 +43,6 @@ __libc_recvmsg (int fd, struct msghdr *msg, int flags)
 }
 weak_alias (__libc_recvmsg, recvmsg)
 weak_alias (__libc_recvmsg, __recvmsg)
+#if __TIMESIZE != 64
+weak_alias (__recvmsg, __recvmsg64)
+#endif
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index c290ae4948..2f4b06e27c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2519,6 +2519,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 714f7d4f55..c01917dca8 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2374,6 +2374,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 9f858a4f68..d0449dc285 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2371,6 +2371,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 2420775e21..309ce62d75 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2514,6 +2514,7 @@ GLIBC_2.34 __pthread_unregister_cancel F
 GLIBC_2.34 __pthread_unregister_cancel_restore F
 GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 __recvmmsg64 F
+GLIBC_2.34 __recvmsg64 F
 GLIBC_2.34 __sched_rr_get_interval64 F
 GLIBC_2.34 __select64 F
 GLIBC_2.34 __sem_clockwait64 F
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 6/8] socket: Add time64 alias for sendmsg
  2021-07-19 15:28 [PATCH v2 0/8] Additional time64 system call wrappers Florian Weimer via Libc-alpha
                   ` (4 preceding siblings ...)
  2021-07-19 15:28 ` [PATCH 5/8] socket: Add time64 alias for recvmsg Florian Weimer via Libc-alpha
@ 2021-07-19 15:29 ` Florian Weimer via Libc-alpha
  2021-07-19 15:29 ` [PATCH 7/8] socket: Add time64 alias for getsockopt Florian Weimer via Libc-alpha
  2021-07-19 15:29 ` [PATCH 8/8] socket: Add time64 alias for setsockopt Florian Weimer via Libc-alpha
  7 siblings, 0 replies; 15+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-07-19 15:29 UTC (permalink / raw)
  To: libc-alpha

---
 socket/sys/socket.h                                  | 12 ++++++++++++
 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/csky/libc.abilist            |  1 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist            |  1 +
 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 +
 sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist |  1 +
 .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist   |  1 +
 sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist |  1 +
 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/sendmsg.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 +
 22 files changed, 35 insertions(+)

diff --git a/socket/sys/socket.h b/socket/sys/socket.h
index b70ba58ba6..e779dc837f 100644
--- a/socket/sys/socket.h
+++ b/socket/sys/socket.h
@@ -170,8 +170,20 @@ extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
+#ifndef __USE_TIME_BITS64
 extern ssize_t sendmsg (int __fd, const struct msghdr *__message,
 			int __flags);
+#else
+# ifdef __REDIRECT
+extern ssize_t __REDIRECT (sendmsg, (int __fd, const struct msghdr *__message,
+				     int __flags),
+			   __sendmsg64);
+# else
+extern ssize_t __sendmsg64 (int __fd, const struct msghdr *__message,
+			    int __flags);
+#  defien sendmsg __sendmsg64
+# endif
+#endif
 
 #ifdef __USE_GNU
 /* Send a VLEN messages as described by VMESSAGES to socket FD.
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index 8cc7d6ea15..e03ebf9aff 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -267,6 +267,7 @@ libc {
     __semtimedop64;
     __sem_timedwait64;
     __sendmmsg64;
+    __sendmsg64;
     __setitimer64;
     __settimeofday64;
     __shmctl64;
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 5966d4b869..c3c96f24c4 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -268,6 +268,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 0ba0a7f031..2786afa406 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -265,6 +265,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 59b6af995f..da3f538b40 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2424,6 +2424,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index cf9f0372d0..47d376ff62 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2375,6 +2375,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index e1b9ad8229..d6b038b6a3 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2559,6 +2559,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 6c6e132c12..ab9e0955dd 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -269,6 +269,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 4a5a31a54b..479d17be35 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2502,6 +2502,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 638ee4d1d8..90302842f5 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2475,6 +2475,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index d6b6c85f74..dcfd52ec31 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2472,6 +2472,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 8bab590546..c72c2a7101 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2467,6 +2467,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 33cc242f26..6725735b59 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2465,6 +2465,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index b8d2cceade..5c2e228628 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2473,6 +2473,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index f99820e4ff..e0ffbb5687 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2514,6 +2514,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 1e7837c971..105dda5300 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2529,6 +2529,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index de62b347b0..b079847f84 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2562,6 +2562,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 2f4b06e27c..b3b55c9c68 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2527,6 +2527,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/sendmsg.c b/sysdeps/unix/sysv/linux/sendmsg.c
index d1d1946280..eb99325a0e 100644
--- a/sysdeps/unix/sysv/linux/sendmsg.c
+++ b/sysdeps/unix/sysv/linux/sendmsg.c
@@ -32,3 +32,6 @@ __libc_sendmsg (int fd, const struct msghdr *msg, int flags)
 }
 weak_alias (__libc_sendmsg, sendmsg)
 weak_alias (__libc_sendmsg, __sendmsg)
+#if __TIMESIZE != 64
+weak_alias (__sendmsg, __sendmsg64)
+#endif
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index c01917dca8..54174a2263 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2382,6 +2382,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index d0449dc285..3028f6c334 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2379,6 +2379,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 309ce62d75..8b0ae536e2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2522,6 +2522,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 7/8] socket: Add time64 alias for getsockopt
  2021-07-19 15:28 [PATCH v2 0/8] Additional time64 system call wrappers Florian Weimer via Libc-alpha
                   ` (5 preceding siblings ...)
  2021-07-19 15:29 ` [PATCH 6/8] socket: Add time64 alias for sendmsg Florian Weimer via Libc-alpha
@ 2021-07-19 15:29 ` Florian Weimer via Libc-alpha
  2021-07-21 20:19   ` Adhemerval Zanella via Libc-alpha
  2021-07-19 15:29 ` [PATCH 8/8] socket: Add time64 alias for setsockopt Florian Weimer via Libc-alpha
  7 siblings, 1 reply; 15+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-07-19 15:29 UTC (permalink / raw)
  To: libc-alpha

---
 socket/Makefile                               |  9 +++-
 socket/sys/socket.h                           | 15 ++++++
 socket/tst-sockopt-time64.c                   |  1 +
 socket/tst-sockopt.c                          | 52 +++++++++++++++++++
 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/csky/libc.abilist     |  1 +
 sysdeps/unix/sysv/linux/getsockopt.c          |  3 ++
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  1 +
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  1 +
 .../sysv/linux/m68k/coldfire/libc.abilist     |  1 +
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  1 +
 .../sysv/linux/microblaze/be/libc.abilist     |  1 +
 .../sysv/linux/microblaze/le/libc.abilist     |  1 +
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  1 +
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  1 +
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  1 +
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  1 +
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  1 +
 .../powerpc/powerpc32/nofpu/libc.abilist      |  1 +
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  1 +
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  1 +
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  1 +
 .../sysv/linux/sparc/sparc32/libc.abilist     |  1 +
 25 files changed, 99 insertions(+), 1 deletion(-)
 create mode 100644 socket/tst-sockopt-time64.c
 create mode 100644 socket/tst-sockopt.c

diff --git a/socket/Makefile b/socket/Makefile
index 27ffe44c05..3759576010 100644
--- a/socket/Makefile
+++ b/socket/Makefile
@@ -31,7 +31,14 @@ routines := accept bind connect getpeername getsockname getsockopt	\
 	    setsockopt shutdown socket socketpair isfdtype opensock	\
 	    sockatmark accept4 recvmmsg sendmmsg
 
-tests := tst-accept4
+tests := \
+  tst-accept4 \
+  tst-sockopt \
+  # tests
+
+tests-time64 := \
+  tst-sockopt-time64 \
+  # tests
 
 aux	 := sa_len
 
diff --git a/socket/sys/socket.h b/socket/sys/socket.h
index e779dc837f..b37c87e7df 100644
--- a/socket/sys/socket.h
+++ b/socket/sys/socket.h
@@ -251,9 +251,24 @@ extern int __REDIRECT (recvmmsg, (int __fd, struct mmsghdr *__vmessages,
 /* Put the current value for socket FD's option OPTNAME at protocol level LEVEL
    into OPTVAL (which is *OPTLEN bytes long), and set *OPTLEN to the value's
    actual length.  Returns 0 on success, -1 for errors.  */
+#ifndef __USE_TIME_BITS64
 extern int getsockopt (int __fd, int __level, int __optname,
 		       void *__restrict __optval,
 		       socklen_t *__restrict __optlen) __THROW;
+#else
+# ifdef __REDIRECT
+extern int __REDIRECT_NTH (getsockopt,
+			   (int __fd, int __level, int __optname,
+			    void *__restrict __optval,
+			    socklen_t *__restrict __optlen),
+			   __getsockopt64);
+# else
+extern int __getsockopt64 (int __fd, int __level, int __optname,
+			   void *__restrict __optval,
+			   socklen_t *__restrict __optlen) __THROW;
+#  define getsockopt __getsockopt64
+# endif
+#endif
 
 /* Set socket FD's option OPTNAME at protocol level LEVEL
    to *OPTVAL (which is OPTLEN bytes long).
diff --git a/socket/tst-sockopt-time64.c b/socket/tst-sockopt-time64.c
new file mode 100644
index 0000000000..f1df48de73
--- /dev/null
+++ b/socket/tst-sockopt-time64.c
@@ -0,0 +1 @@
+#include "tst-sockopt.c"
diff --git a/socket/tst-sockopt.c b/socket/tst-sockopt.c
new file mode 100644
index 0000000000..f3ce0bc3a4
--- /dev/null
+++ b/socket/tst-sockopt.c
@@ -0,0 +1,52 @@
+/* Smoke test for socket options.
+   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 <support/xsocket.h>
+#include <support/xunistd.h>
+#include <support/check.h>
+#include <netinet/in.h>
+
+static int
+do_test (void)
+{
+  int fd = xsocket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
+
+  struct linger value = { -1, -1 };
+  socklen_t optlen = sizeof (value);
+  TEST_COMPARE (getsockopt (fd, SOL_SOCKET, SO_LINGER, &value, &optlen), 0);
+  TEST_COMPARE (optlen, sizeof (value));
+  TEST_COMPARE (value.l_onoff, 0);
+  TEST_COMPARE (value.l_linger, 0);
+
+  value.l_onoff = 1;
+  value.l_linger = 30;
+  TEST_COMPARE (setsockopt (fd, SOL_SOCKET, SO_LINGER, &value, sizeof (value)),
+                0);
+
+  value.l_onoff = -1;
+  value.l_linger = -1;
+  TEST_COMPARE (getsockopt (fd, SOL_SOCKET, SO_LINGER, &value, &optlen), 0);
+  TEST_COMPARE (optlen, sizeof (value));
+  TEST_COMPARE (value.l_onoff, 1);
+  TEST_COMPARE (value.l_linger, 30);
+
+  xclose (fd);
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index e03ebf9aff..5ff450f476 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -225,6 +225,7 @@ libc {
     __gai_suspend_time64;
     __getitimer64;
     __getrusage64;
+    __getsockopt64;
     __gettimeofday64;
     __glob64_time64;
     __globfree64_time64;
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index c3c96f24c4..cb5615f428 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -218,6 +218,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 2786afa406..88c3db4560 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -215,6 +215,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index da3f538b40..e90ad23a66 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2374,6 +2374,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/getsockopt.c b/sysdeps/unix/sysv/linux/getsockopt.c
index f86b06dec6..57343d432c 100644
--- a/sysdeps/unix/sysv/linux/getsockopt.c
+++ b/sysdeps/unix/sysv/linux/getsockopt.c
@@ -101,3 +101,6 @@ __getsockopt (int fd, int level, int optname, void *optval, socklen_t *len)
  return r;
 }
 weak_alias (__getsockopt, getsockopt)
+#if __TIMESIZE != 64
+weak_alias (__getsockopt, __getsockopt64)
+#endif
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 47d376ff62..ea727e1956 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2325,6 +2325,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index d6b038b6a3..f53a44f7ca 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2508,6 +2508,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index ab9e0955dd..c86910563a 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -219,6 +219,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 479d17be35..c7fe3b31e7 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2452,6 +2452,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 90302842f5..3c8ed8d962 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2425,6 +2425,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index dcfd52ec31..cc3a28054d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2422,6 +2422,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index c72c2a7101..49bc91ab6a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2417,6 +2417,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 6725735b59..853a61f3db 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2415,6 +2415,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 5c2e228628..28917895bd 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2423,6 +2423,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index e0ffbb5687..e4d4ea4d26 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2464,6 +2464,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 105dda5300..22b7f8604d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2479,6 +2479,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index b079847f84..8b49bcfe32 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2512,6 +2512,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index b3b55c9c68..97939a88ee 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2477,6 +2477,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 54174a2263..a56b7ddd00 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2332,6 +2332,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 3028f6c334..c043e9b58f 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2329,6 +2329,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 8b0ae536e2..ebd2acd9e4 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2472,6 +2472,7 @@ GLIBC_2.34 __futimesat64 F
 GLIBC_2.34 __gai_suspend_time64 F
 GLIBC_2.34 __getitimer64 F
 GLIBC_2.34 __getrusage64 F
+GLIBC_2.34 __getsockopt64 F
 GLIBC_2.34 __gettimeofday64 F
 GLIBC_2.34 __glob64_time64 F
 GLIBC_2.34 __globfree64_time64 F
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 8/8] socket: Add time64 alias for setsockopt
  2021-07-19 15:28 [PATCH v2 0/8] Additional time64 system call wrappers Florian Weimer via Libc-alpha
                   ` (6 preceding siblings ...)
  2021-07-19 15:29 ` [PATCH 7/8] socket: Add time64 alias for getsockopt Florian Weimer via Libc-alpha
@ 2021-07-19 15:29 ` Florian Weimer via Libc-alpha
  2021-07-21 20:18   ` Adhemerval Zanella via Libc-alpha
  7 siblings, 1 reply; 15+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-07-19 15:29 UTC (permalink / raw)
  To: libc-alpha

---
 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/csky/libc.abilist           |  1 +
 sysdeps/unix/sysv/linux/hppa/libc.abilist           |  1 +
 sysdeps/unix/sysv/linux/hppa/syscalls.list          |  2 +-
 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/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 +
 23 files changed, 37 insertions(+), 1 deletion(-)

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 5ff450f476..26452f3f17 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 cb5615f428..f44b16f3de 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -271,6 +271,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 88c3db4560..6217997baa 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -268,6 +268,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/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index e90ad23a66..b7676eb372 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2427,6 +2427,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/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index ea727e1956..f8ff5e747b 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2378,6 +2378,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 043d884bf9..2e8fb29bb8 100644
--- a/sysdeps/unix/sysv/linux/hppa/syscalls.list
+++ b/sysdeps/unix/sysv/linux/hppa/syscalls.list
@@ -1,5 +1,5 @@
 # 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
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index f53a44f7ca..8e707af79a 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2562,6 +2562,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 c86910563a..2e88a2a996 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -272,6 +272,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 c7fe3b31e7..1794c76cd4 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/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
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 3c8ed8d962..1a297fbf9e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2478,6 +2478,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 cc3a28054d..36cf30deb5 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2475,6 +2475,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 49bc91ab6a..34ea962247 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2470,6 +2470,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 853a61f3db..22354c5799 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2468,6 +2468,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 28917895bd..b7d6d9414e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2476,6 +2476,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/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index e4d4ea4d26..7bb0ec4ed6 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2517,6 +2517,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 22b7f8604d..5e9087079d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2532,6 +2532,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 8b49bcfe32..0c9cc83df3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2565,6 +2565,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 97939a88ee..cb15385c69 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2530,6 +2530,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 bb3017f89c..7cefbc2b48 100644
--- a/sysdeps/unix/sysv/linux/setsockopt.c
+++ b/sysdeps/unix/sysv/linux/setsockopt.c
@@ -103,3 +103,6 @@ __setsockopt (int fd, int level, int optname, const void *optval, socklen_t len)
 }
 libc_hidden_def (__setsockopt)
 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 a56b7ddd00..c8f397c8fa 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2385,6 +2385,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 c043e9b58f..e78accd62c 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2382,6 +2382,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 ebd2acd9e4..a7d2467635 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2525,6 +2525,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
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH 8/8] socket: Add time64 alias for setsockopt
  2021-07-05 13:42 ` [PATCH 8/8] socket: Add time64 alias for setsockopt Florian Weimer via Libc-alpha
@ 2021-07-20  9:15   ` Lukasz Majewski
  2021-07-20  9:18     ` Florian Weimer via Libc-alpha
  2021-07-21 20:10   ` Adhemerval Zanella via Libc-alpha
  1 sibling, 1 reply; 15+ messages in thread
From: Lukasz Majewski @ 2021-07-20  9:15 UTC (permalink / raw)
  To: Florian Weimer via Libc-alpha; +Cc: Florian Weimer

[-- Attachment #1: Type: text/plain, Size: 17628 bytes --]

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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 8/8] socket: Add time64 alias for setsockopt
  2021-07-20  9:15   ` Lukasz Majewski
@ 2021-07-20  9:18     ` Florian Weimer via Libc-alpha
  0 siblings, 0 replies; 15+ messages in thread
From: Florian Weimer via Libc-alpha @ 2021-07-20  9:18 UTC (permalink / raw)
  To: Lukasz Majewski; +Cc: Florian Weimer via Libc-alpha

* 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


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 8/8] socket: Add time64 alias for setsockopt
  2021-07-05 13:42 ` [PATCH 8/8] socket: Add time64 alias for setsockopt Florian Weimer via Libc-alpha
  2021-07-20  9:15   ` Lukasz Majewski
@ 2021-07-21 20:10   ` Adhemerval Zanella via Libc-alpha
  1 sibling, 0 replies; 15+ messages in thread
From: Adhemerval Zanella via Libc-alpha @ 2021-07-21 20:10 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

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
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 8/8] socket: Add time64 alias for setsockopt
  2021-07-19 15:29 ` [PATCH 8/8] socket: Add time64 alias for setsockopt Florian Weimer via Libc-alpha
@ 2021-07-21 20:18   ` Adhemerval Zanella via Libc-alpha
  0 siblings, 0 replies; 15+ messages in thread
From: Adhemerval Zanella via Libc-alpha @ 2021-07-21 20:18 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

LGTM, thanks.

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

On 19/07/2021 12:29, 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/csky/libc.abilist           |  1 +
>  sysdeps/unix/sysv/linux/hppa/libc.abilist           |  1 +
>  sysdeps/unix/sysv/linux/hppa/syscalls.list          |  2 +-
>  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/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 +
>  23 files changed, 37 insertions(+), 1 deletion(-)
> 
> 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 5ff450f476..26452f3f17 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 cb5615f428..f44b16f3de 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -271,6 +271,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 88c3db4560..6217997baa 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -268,6 +268,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/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index e90ad23a66..b7676eb372 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -2427,6 +2427,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/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index ea727e1956..f8ff5e747b 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2378,6 +2378,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 043d884bf9..2e8fb29bb8 100644
> --- a/sysdeps/unix/sysv/linux/hppa/syscalls.list
> +++ b/sysdeps/unix/sysv/linux/hppa/syscalls.list
> @@ -1,5 +1,5 @@
>  # 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

Lukasz already point this out.

> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index f53a44f7ca..8e707af79a 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2562,6 +2562,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 c86910563a..2e88a2a996 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -272,6 +272,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 c7fe3b31e7..1794c76cd4 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/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
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 3c8ed8d962..1a297fbf9e 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2478,6 +2478,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 cc3a28054d..36cf30deb5 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2475,6 +2475,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 49bc91ab6a..34ea962247 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2470,6 +2470,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 853a61f3db..22354c5799 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2468,6 +2468,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 28917895bd..b7d6d9414e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2476,6 +2476,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/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index e4d4ea4d26..7bb0ec4ed6 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2517,6 +2517,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 22b7f8604d..5e9087079d 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2532,6 +2532,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 8b49bcfe32..0c9cc83df3 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2565,6 +2565,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 97939a88ee..cb15385c69 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2530,6 +2530,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 bb3017f89c..7cefbc2b48 100644
> --- a/sysdeps/unix/sysv/linux/setsockopt.c
> +++ b/sysdeps/unix/sysv/linux/setsockopt.c
> @@ -103,3 +103,6 @@ __setsockopt (int fd, int level, int optname, const void *optval, socklen_t len)
>  }
>  libc_hidden_def (__setsockopt)
>  weak_alias (__setsockopt, setsockopt)
> +#if __TIMESIZE != 64
> +weak_alias (__setsockopt, __setsockopt64)
> +#endif

Ok.

> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index a56b7ddd00..c8f397c8fa 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2385,6 +2385,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 c043e9b58f..e78accd62c 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2382,6 +2382,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 ebd2acd9e4..a7d2467635 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2525,6 +2525,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
> 

Ok.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 7/8] socket: Add time64 alias for getsockopt
  2021-07-19 15:29 ` [PATCH 7/8] socket: Add time64 alias for getsockopt Florian Weimer via Libc-alpha
@ 2021-07-21 20:19   ` Adhemerval Zanella via Libc-alpha
  0 siblings, 0 replies; 15+ messages in thread
From: Adhemerval Zanella via Libc-alpha @ 2021-07-21 20:19 UTC (permalink / raw)
  To: Florian Weimer, libc-alpha

LGTM, thanks.

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

On 19/07/2021 12:29, Florian Weimer via Libc-alpha wrote:
> ---
>  socket/Makefile                               |  9 +++-
>  socket/sys/socket.h                           | 15 ++++++
>  socket/tst-sockopt-time64.c                   |  1 +
>  socket/tst-sockopt.c                          | 52 +++++++++++++++++++
>  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/csky/libc.abilist     |  1 +
>  sysdeps/unix/sysv/linux/getsockopt.c          |  3 ++
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  1 +
>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  1 +
>  .../sysv/linux/m68k/coldfire/libc.abilist     |  1 +
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  1 +
>  .../sysv/linux/microblaze/be/libc.abilist     |  1 +
>  .../sysv/linux/microblaze/le/libc.abilist     |  1 +
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  1 +
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  1 +
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  1 +
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  1 +
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  1 +
>  .../powerpc/powerpc32/nofpu/libc.abilist      |  1 +
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  1 +
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  1 +
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  1 +
>  .../sysv/linux/sparc/sparc32/libc.abilist     |  1 +
>  25 files changed, 99 insertions(+), 1 deletion(-)
>  create mode 100644 socket/tst-sockopt-time64.c
>  create mode 100644 socket/tst-sockopt.c
> 
> diff --git a/socket/Makefile b/socket/Makefile
> index 27ffe44c05..3759576010 100644
> --- a/socket/Makefile
> +++ b/socket/Makefile
> @@ -31,7 +31,14 @@ routines := accept bind connect getpeername getsockname getsockopt	\
>  	    setsockopt shutdown socket socketpair isfdtype opensock	\
>  	    sockatmark accept4 recvmmsg sendmmsg
>  
> -tests := tst-accept4
> +tests := \
> +  tst-accept4 \
> +  tst-sockopt \
> +  # tests
> +
> +tests-time64 := \
> +  tst-sockopt-time64 \
> +  # tests
>  
>  aux	 := sa_len
>  

Ok.

> diff --git a/socket/sys/socket.h b/socket/sys/socket.h
> index e779dc837f..b37c87e7df 100644
> --- a/socket/sys/socket.h
> +++ b/socket/sys/socket.h
> @@ -251,9 +251,24 @@ extern int __REDIRECT (recvmmsg, (int __fd, struct mmsghdr *__vmessages,
>  /* Put the current value for socket FD's option OPTNAME at protocol level LEVEL
>     into OPTVAL (which is *OPTLEN bytes long), and set *OPTLEN to the value's
>     actual length.  Returns 0 on success, -1 for errors.  */
> +#ifndef __USE_TIME_BITS64
>  extern int getsockopt (int __fd, int __level, int __optname,
>  		       void *__restrict __optval,
>  		       socklen_t *__restrict __optlen) __THROW;
> +#else
> +# ifdef __REDIRECT
> +extern int __REDIRECT_NTH (getsockopt,
> +			   (int __fd, int __level, int __optname,
> +			    void *__restrict __optval,
> +			    socklen_t *__restrict __optlen),
> +			   __getsockopt64);
> +# else
> +extern int __getsockopt64 (int __fd, int __level, int __optname,
> +			   void *__restrict __optval,
> +			   socklen_t *__restrict __optlen) __THROW;
> +#  define getsockopt __getsockopt64
> +# endif
> +#endif
>  
>  /* Set socket FD's option OPTNAME at protocol level LEVEL
>     to *OPTVAL (which is OPTLEN bytes long).

Ok.

> diff --git a/socket/tst-sockopt-time64.c b/socket/tst-sockopt-time64.c
> new file mode 100644
> index 0000000000..f1df48de73
> --- /dev/null
> +++ b/socket/tst-sockopt-time64.c
> @@ -0,0 +1 @@
> +#include "tst-sockopt.c"
> diff --git a/socket/tst-sockopt.c b/socket/tst-sockopt.c
> new file mode 100644
> index 0000000000..f3ce0bc3a4
> --- /dev/null
> +++ b/socket/tst-sockopt.c
> @@ -0,0 +1,52 @@
> +/* Smoke test for socket options.
> +   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 <support/xsocket.h>
> +#include <support/xunistd.h>
> +#include <support/check.h>
> +#include <netinet/in.h>
> +
> +static int
> +do_test (void)
> +{
> +  int fd = xsocket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
> +
> +  struct linger value = { -1, -1 };
> +  socklen_t optlen = sizeof (value);
> +  TEST_COMPARE (getsockopt (fd, SOL_SOCKET, SO_LINGER, &value, &optlen), 0);
> +  TEST_COMPARE (optlen, sizeof (value));
> +  TEST_COMPARE (value.l_onoff, 0);
> +  TEST_COMPARE (value.l_linger, 0);
> +
> +  value.l_onoff = 1;
> +  value.l_linger = 30;
> +  TEST_COMPARE (setsockopt (fd, SOL_SOCKET, SO_LINGER, &value, sizeof (value)),
> +                0);
> +
> +  value.l_onoff = -1;
> +  value.l_linger = -1;
> +  TEST_COMPARE (getsockopt (fd, SOL_SOCKET, SO_LINGER, &value, &optlen), 0);
> +  TEST_COMPARE (optlen, sizeof (value));
> +  TEST_COMPARE (value.l_onoff, 1);
> +  TEST_COMPARE (value.l_linger, 30);
> +
> +  xclose (fd);
> +  return 0;
> +}
> +
> +#include <support/test-driver.c>

Ok.

> diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
> index e03ebf9aff..5ff450f476 100644
> --- a/sysdeps/unix/sysv/linux/Versions
> +++ b/sysdeps/unix/sysv/linux/Versions
> @@ -225,6 +225,7 @@ libc {
>      __gai_suspend_time64;
>      __getitimer64;
>      __getrusage64;
> +    __getsockopt64;
>      __gettimeofday64;
>      __glob64_time64;
>      __globfree64_time64;

Ok.

> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index c3c96f24c4..cb5615f428 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -218,6 +218,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 2786afa406..88c3db4560 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -215,6 +215,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index da3f538b40..e90ad23a66 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -2374,6 +2374,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/getsockopt.c b/sysdeps/unix/sysv/linux/getsockopt.c
> index f86b06dec6..57343d432c 100644
> --- a/sysdeps/unix/sysv/linux/getsockopt.c
> +++ b/sysdeps/unix/sysv/linux/getsockopt.c
> @@ -101,3 +101,6 @@ __getsockopt (int fd, int level, int optname, void *optval, socklen_t *len)
>   return r;
>  }
>  weak_alias (__getsockopt, getsockopt)
> +#if __TIMESIZE != 64
> +weak_alias (__getsockopt, __getsockopt64)
> +#endif

Ok.

> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 47d376ff62..ea727e1956 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2325,6 +2325,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index d6b038b6a3..f53a44f7ca 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2508,6 +2508,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index ab9e0955dd..c86910563a 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -219,6 +219,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 479d17be35..c7fe3b31e7 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2452,6 +2452,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 90302842f5..3c8ed8d962 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2425,6 +2425,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index dcfd52ec31..cc3a28054d 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2422,6 +2422,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index c72c2a7101..49bc91ab6a 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2417,6 +2417,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 6725735b59..853a61f3db 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2415,6 +2415,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 5c2e228628..28917895bd 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2423,6 +2423,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index e0ffbb5687..e4d4ea4d26 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2464,6 +2464,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 105dda5300..22b7f8604d 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2479,6 +2479,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index b079847f84..8b49bcfe32 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2512,6 +2512,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index b3b55c9c68..97939a88ee 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2477,6 +2477,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 54174a2263..a56b7ddd00 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2332,6 +2332,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 3028f6c334..c043e9b58f 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2329,6 +2329,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 8b0ae536e2..ebd2acd9e4 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2472,6 +2472,7 @@ GLIBC_2.34 __futimesat64 F
>  GLIBC_2.34 __gai_suspend_time64 F
>  GLIBC_2.34 __getitimer64 F
>  GLIBC_2.34 __getrusage64 F
> +GLIBC_2.34 __getsockopt64 F
>  GLIBC_2.34 __gettimeofday64 F
>  GLIBC_2.34 __glob64_time64 F
>  GLIBC_2.34 __globfree64_time64 F
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-07-21 20:20 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-19 15:28 [PATCH v2 0/8] Additional time64 system call wrappers Florian Weimer via Libc-alpha
2021-07-19 15:28 ` [PATCH 1/8] misc: Add time64 alias for ioctl Florian Weimer via Libc-alpha
2021-07-19 15:28 ` [PATCH 2/8] io: Add time64 alias for fcntl Florian Weimer via Libc-alpha
2021-07-19 15:28 ` [PATCH 3/8] Linux: Add time64 alias for prctl Florian Weimer via Libc-alpha
2021-07-19 15:28 ` [PATCH 4/8] socket: Add time64 alias for sendmmsg Florian Weimer via Libc-alpha
2021-07-19 15:28 ` [PATCH 5/8] socket: Add time64 alias for recvmsg Florian Weimer via Libc-alpha
2021-07-19 15:29 ` [PATCH 6/8] socket: Add time64 alias for sendmsg Florian Weimer via Libc-alpha
2021-07-19 15:29 ` [PATCH 7/8] socket: Add time64 alias for getsockopt Florian Weimer via Libc-alpha
2021-07-21 20:19   ` Adhemerval Zanella via Libc-alpha
2021-07-19 15:29 ` [PATCH 8/8] socket: Add time64 alias for setsockopt Florian Weimer via Libc-alpha
2021-07-21 20:18   ` Adhemerval Zanella via Libc-alpha
  -- strict thread matches above, loose matches on Subject: below --
2021-07-05 13:41 [PATCH 0/8] Additional time64 aliases Florian Weimer via Libc-alpha
2021-07-05 13:42 ` [PATCH 8/8] socket: Add time64 alias for setsockopt Florian Weimer via Libc-alpha
2021-07-20  9:15   ` Lukasz Majewski
2021-07-20  9:18     ` Florian Weimer via Libc-alpha
2021-07-21 20:10   ` Adhemerval Zanella via Libc-alpha

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).