mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-27 07:20:11 +00:00
abf29edd4a
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.
52 lines
2.0 KiB
Plaintext
52 lines
2.0 KiB
Plaintext
# File name Caller Syscall name # args Strong name Weak names
|
|
|
|
chown - chown32 i:sii __chown chown
|
|
lchown - lchown32 i:sii __lchown lchown
|
|
fchown - fchown32 i:iii __fchown fchown
|
|
|
|
getegid - getegid32 Ei: __getegid getegid
|
|
geteuid - geteuid32 Ei: __geteuid geteuid
|
|
getgid - getgid32 Ei: __getgid getgid
|
|
getuid - getuid32 Ei: __getuid getuid
|
|
getresgid - getresgid32 i:ppp __getresgid getresgid
|
|
getresuid - getresuid32 i:ppp __getresuid getresuid
|
|
getgroups - getgroups32 i:ip __getgroups getgroups
|
|
|
|
setfsgid - setfsgid32 Ei:i setfsgid
|
|
setfsuid - setfsuid32 Ei:i setfsuid
|
|
|
|
prlimit64 EXTRA prlimit64 i:iipp prlimit64
|
|
|
|
fanotify_mark EXTRA fanotify_mark i:iiiiis fanotify_mark
|
|
|
|
personality EXTRA personality Ei:i __personality personality
|
|
|
|
# Semaphore and shm system calls. msgctl, shmctl, and semctl have C
|
|
# wrappers (to set __IPC_64).
|
|
msgget - msgget i:ii __msgget msgget
|
|
msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv
|
|
msgsnd - msgsnd Ci:ibni __msgsnd msgsnd
|
|
shmat - shmat i:ipi __shmat shmat
|
|
shmdt - shmdt i:s __shmdt shmdt
|
|
shmget - shmget i:iii __shmget shmget
|
|
semop - semop i:ipi __semop semop
|
|
semtimedop - semtimedop i:ipip semtimedop
|
|
semget - semget i:iii __semget semget
|
|
|
|
# proper socket implementations:
|
|
accept - accept Ci:iBN __libc_accept __accept accept
|
|
bind - bind i:ipi __bind bind
|
|
connect - connect Ci:ipi __libc_connect __connect connect
|
|
getpeername - getpeername i:ipp __getpeername getpeername
|
|
getsockname - getsockname i:ipp __getsockname getsockname
|
|
getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
|
|
listen - listen i:ii __listen listen
|
|
recv - recv Ci:ibni __libc_recv __recv recv
|
|
recvfrom - recvfrom Ci:ibniBN __libc_recvfrom __recvfrom recvfrom
|
|
send - send Ci:ibni __libc_send __send send
|
|
sendto - sendto Ci:ibnibn __libc_sendto __sendto sendto
|
|
setsockopt - setsockopt i:iiibn __setsockopt setsockopt
|
|
shutdown - shutdown i:ii __shutdown shutdown
|
|
socket - socket i:iii __socket socket
|
|
socketpair - socketpair i:iiif __socketpair socketpair
|