mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	This patch removes the auto-generation for recvmsg and sendmsg syscall
and adjust the kernel-features.h for all architectures supported on
Linux.  This patch follows the idea of 'Adjust kernel-features.h defaults
for socket syscalls.' (35ade9f11b) by define
__ASSUME_SENDMSG_SYSCALL and __ASSUME_RECVMSG_SYSCALL as supported by
default and undefine it for the architecture that do not support it
directly.
The main rationale is to make is easier add code wrapper over the syscall
to fix BZ#16919 (recvmsg standard compliance).
Tested on x86_64, i686, aarch64, armhf, and powerpc64le.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (recvmsg): Remove
	from auto-generation.
	(sendmsg): Likewise.
	* sysdeps/unix/sysv/linux/arm/syscalls.list (recvmsg): Likewise.
	(sendmsg): Likewise.
	* sysdeps/unix/sysv/linux/generic/syscalls.list (recvmsg): Likewise.
	(sendmsg): Likewise.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list (recvmsg): Likewise.
	(sendmsg): Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list (recvmsg): Likewise.
	(sendmsg): Likewise.
	* sysdeps/unix/sysv/linux/mips/syscalls.list (recvmsg): Likewise.
	(sendmsg): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (recvmsg):
	Likewise.
	(sendmsg): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list (recvmsg): Likewise.
	(sendmsg): Likewise.
	* sysdeps/unix/sysv/linux/i386/kernel-features.h
	[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_SENDMSG_SYSCALL):
	Remove.
	[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_RECVMSG_SYSCALL):
	Likewise.
	[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_SENDMSG_SYSCALL):
	Undefine.
	[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_RECVMSG_SYSCALL):
	Likewise.
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_SENDMSG_SYSCALL): Define.
	(__ASSUME_RECVMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/m68k/kernel-features.h
	[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_SENDMSG_SYSCALL):
	Remove.
	[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_RECVMSG_SYSCALL):
	Likewise.
	[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_SENDMSG_SYSCALL):
	Undefine.
	[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_RECVMSG_SYSCALL):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/kernel-features.h
	[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_SENDMSG_SYSCALL):
	Remove.
	[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_RECVMSG_SYSCALL):
	Likewise.
	[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_SENDMSG_SYSCALL):
	Undefine.
	[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_RECVMSG_SYSCALL):
	Likewise.
	* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
	(__ASSUME_SENDMSG_SYSCALL): Undefine.
	(__ASSUME_RECVMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/kernel-features.h
	(__ASSUME_SENDMSG_SYSCALL): Likewise.
	(__ASSUME_RECVMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/sh/kernel-features.h
	(__ASSUME_SENDMSG_SYSCALL): Likewise.
	(__ASSUME_RECVMSG_SYSCALL): Likewise.
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# File name	Caller	Syscall name	# args	Strong name	Weak names
 | 
						|
 | 
						|
# SysV APIs
 | 
						|
msgget		-	msgget		i:ii	__msgget	msgget
 | 
						|
msgctl		-	msgctl		i:iip	__msgctl	msgctl
 | 
						|
msgrcv		-	msgrcv		Ci:ibnii __msgrcv	msgrcv
 | 
						|
msgsnd		-	msgsnd		Ci:ibni	__msgsnd	msgsnd
 | 
						|
semget		-	semget		i:iii	__semget	semget
 | 
						|
semctl		-	semctl		i:iiii	__semctl	semctl
 | 
						|
semtimedop	-	semtimedop	i:ipip	semtimedop
 | 
						|
semop		-	semop		i:ipi	__semop		semop
 | 
						|
shmget		-	shmget		i:iii	__shmget	shmget
 | 
						|
shmctl		-	shmctl		i:iip	__shmctl	shmctl
 | 
						|
shmat		-	shmat		i:ipi	__shmat		shmat
 | 
						|
shmdt		-	shmdt		i:s	__shmdt		shmdt
 | 
						|
 | 
						|
# Socket APIs
 | 
						|
socket		-	socket		i:iii	__socket	socket
 | 
						|
socketpair	-	socketpair	i:iiif	__socketpair	socketpair
 | 
						|
bind		-	bind		i:ipi	__bind		bind
 | 
						|
listen		-	listen		i:ii	__listen	listen
 | 
						|
accept		-	accept		Ci:iBN	__libc_accept	__accept accept
 | 
						|
connect		-	connect		Ci:ipi	__libc_connect	__connect connect
 | 
						|
getsockname	-	getsockname	i:ipp	__getsockname	getsockname
 | 
						|
getpeername	-	getpeername	i:ipp	__getpeername	getpeername
 | 
						|
sendto		-	sendto		Ci:ibnibn	__libc_sendto	__sendto sendto
 | 
						|
recvfrom	-	recvfrom	Ci:ibniBN	__libc_recvfrom	__recvfrom recvfrom
 | 
						|
setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
 | 
						|
getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt
 | 
						|
shutdown	-	shutdown	i:ii	__shutdown	shutdown
 |