mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-16 01:50:11 +00:00
eed3e1eb79
Various Linux kernel syscalls have become obsolete over time. Specifically, the following are obsolete in all kernel versions supported by glibc, are not present for architectures more recently added to the kernel, and as such, the wrapper functions for them should be compat symbols, not in static libc and not available for new links with shared libc. * bdflush: in Linux 2.6, does nothing if present. * create_module get_kernel_syms query_module: Linux 2.4 module interface, syscalls not present in Linux 2.6. * uselib: part of the mechanism for loading a.out shared libraries, irrelevant with ELF. This patch adds support for syscalls.list to list syscall aliases of the form NAME@VERSION:OBSOLETED, with SHLIB_COMPAT conditionals being generated for such aliases. Those five syscalls are then made into compat symbols (obsoleted in glibc 2.23, so future ports won't have these symbols at all), with the header <sys/kdaemon.h> declaring bdflush being removed. When we move to 3.2 as minimum kernel version, the same can be done for nfsservctl (removed in Linux 3.1) as well. Tested for x86_64 and x86 (testsuite, as well as checking that the symbols in question indeed become compat symbols, that they are indeed omitted from static libc, and that the generated SHLIB_COMPAT conditionals look right). [BZ #18472] * sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Handle entries for the form NAME@VERSION:OBSOLETED and generate SHLIB_COMPAT conditionals for them. * sysdeps/unix/make-syscalls.sh (emit_weak_aliases): Likewise. * sysdeps/unix/sysv/linux/sys/kdaemon.h: Remove file. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove sys/kdaemon.h. * sysdeps/unix/sysv/linux/syscalls.list (bdflush): Make into compat-only syscall, obsoleted in glibc 2.23. (create_module): Likewise. (get_kernel_syms): Likewise. (query_module): Likewise. (uselib): Likewise. * manual/sysinfo.texi (System Parameters): Do not mention bdflush.
126 lines
5.4 KiB
Plaintext
126 lines
5.4 KiB
Plaintext
# File name Caller Syscall name Args Strong name Weak names
|
|
|
|
adjtimex adjtime adjtimex i:p __adjtimex adjtimex ntp_adjtime
|
|
alarm - alarm i:i alarm
|
|
bdflush EXTRA bdflush i:ii __compat_bdflush bdflush@GLIBC_2.0:GLIBC_2.23
|
|
capget EXTRA capget i:pp capget
|
|
capset EXTRA capset i:pp capset
|
|
clock_adjtime EXTRA clock_adjtime i:ip clock_adjtime
|
|
creat - creat Ci:si creat
|
|
create_module EXTRA create_module 3 __compat_create_module create_module@GLIBC_2.0:GLIBC_2.23
|
|
delete_module EXTRA delete_module 3 delete_module
|
|
epoll_create EXTRA epoll_create i:i epoll_create
|
|
epoll_create1 EXTRA epoll_create1 i:i epoll_create1
|
|
epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl
|
|
epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait
|
|
execve - execve i:spp __execve execve
|
|
fdatasync - fdatasync Ci:i fdatasync
|
|
flock - flock i:ii __flock flock
|
|
get_kernel_syms EXTRA get_kernel_syms i:p __compat_get_kernel_syms get_kernel_syms@GLIBC_2.0:GLIBC_2.23
|
|
getegid - getegid Ei: __getegid getegid
|
|
geteuid - geteuid Ei: __geteuid geteuid
|
|
getpgid - getpgid i:i __getpgid getpgid
|
|
getpgrp - getpgrp Ei: getpgrp
|
|
getpmsg - getpmsg i:ipppp getpmsg
|
|
getppid - getppid Ei: __getppid getppid
|
|
getresuid - getresuid i:ppp getresuid
|
|
getresgid - getresgid i:ppp getresgid
|
|
getrlimit - ugetrlimit i:ip __new_getrlimit __getrlimit getrlimit@@GLIBC_2.2
|
|
getsid - getsid i:i getsid
|
|
init_module EXTRA init_module 5 init_module
|
|
inotify_add_watch EXTRA inotify_add_watch i:isi inotify_add_watch
|
|
inotify_init EXTRA inotify_init i: inotify_init
|
|
inotify_init1 EXTRA inotify_init1 i:I inotify_init1
|
|
inotify_rm_watch EXTRA inotify_rm_watch i:ii inotify_rm_watch
|
|
ioperm - ioperm i:iii ioperm
|
|
iopl - iopl i:i iopl
|
|
klogctl EXTRA syslog i:isi klogctl
|
|
lchown - lchown i:sii __lchown lchown
|
|
mincore - mincore i:anV mincore
|
|
mlock - mlock i:bn mlock
|
|
mlockall - mlockall i:i mlockall
|
|
mount EXTRA mount i:sssip __mount mount
|
|
mremap EXTRA mremap b:ainip __mremap mremap
|
|
munlock - munlock i:ai munlock
|
|
munlockall - munlockall i: munlockall
|
|
nanosleep - nanosleep Ci:pp __nanosleep nanosleep
|
|
nfsservctl EXTRA nfsservctl i:ipp nfsservctl
|
|
pause - pause Ci: __libc_pause pause
|
|
personality EXTRA personality i:i __personality personality
|
|
pipe - pipe i:f __pipe pipe
|
|
pipe2 - pipe2 i:fi __pipe2 pipe2
|
|
pivot_root EXTRA pivot_root i:ss pivot_root
|
|
poll - poll Ci:pii __libc_poll __poll poll
|
|
prctl EXTRA prctl i:iiiii __prctl prctl
|
|
putpmsg - putpmsg i:ippii putpmsg
|
|
query_module EXTRA query_module i:sipip __compat_query_module query_module@GLIBC_2.0:GLIBC_2.23
|
|
quotactl EXTRA quotactl i:isip quotactl
|
|
remap_file_pages - remap_file_pages i:piiii __remap_file_pages remap_file_pages
|
|
sched_getp - sched_getparam i:ip __sched_getparam sched_getparam
|
|
sched_gets - sched_getscheduler i:i __sched_getscheduler sched_getscheduler
|
|
sched_primax - sched_get_priority_max i:i __sched_get_priority_max sched_get_priority_max
|
|
sched_primin - sched_get_priority_min i:i __sched_get_priority_min sched_get_priority_min
|
|
sched_rr_gi - sched_rr_get_interval i:ip __sched_rr_get_interval sched_rr_get_interval
|
|
sched_setp - sched_setparam i:ip __sched_setparam sched_setparam
|
|
sched_sets - sched_setscheduler i:iip __sched_setscheduler sched_setscheduler
|
|
sched_yield - sched_yield i: __sched_yield sched_yield
|
|
select - _newselect Ci:iPPPP __select __libc_select select
|
|
sendfile - sendfile i:iipi sendfile
|
|
sendfile64 - sendfile64 i:iipi sendfile64
|
|
setfsgid EXTRA setfsgid i:i setfsgid
|
|
setfsuid EXTRA setfsuid i:i setfsuid
|
|
setpgid - setpgid i:ii __setpgid setpgid
|
|
sigaltstack - sigaltstack i:PP __sigaltstack sigaltstack
|
|
splice EXTRA splice Ci:iPiPii splice
|
|
stime - stime i:p stime
|
|
sysinfo EXTRA sysinfo i:p __sysinfo sysinfo
|
|
swapon - swapon i:si __swapon swapon
|
|
swapoff - swapoff i:s __swapoff swapoff
|
|
tee EXTRA tee Ci:iiii tee
|
|
unshare EXTRA unshare i:i unshare
|
|
uselib EXTRA uselib i:s __compat_uselib uselib@GLIBC_2.0:GLIBC_2.23
|
|
utime - utime i:sP utime
|
|
vmsplice EXTRA vmsplice Ci:iPii vmsplice
|
|
wait4 - wait4 i:iWiP __wait4 wait4
|
|
|
|
chown - chown i:sii __libc_chown __chown chown
|
|
|
|
fchownat - fchownat i:isiii fchownat
|
|
linkat - linkat i:isisi linkat
|
|
mkdirat - mkdirat i:isi mkdirat
|
|
readlinkat - readlinkat i:issi readlinkat
|
|
renameat - renameat i:isis renameat
|
|
symlinkat - symlinkat i:sis symlinkat
|
|
unlinkat - unlinkat i:isi unlinkat
|
|
|
|
setxattr - setxattr i:sspii setxattr
|
|
lsetxattr - lsetxattr i:sspii lsetxattr
|
|
fsetxattr - fsetxattr i:ispii fsetxattr
|
|
getxattr - getxattr i:sspi getxattr
|
|
lgetxattr - lgetxattr i:sspi lgetxattr
|
|
fgetxattr - fgetxattr i:ispi fgetxattr
|
|
listxattr - listxattr i:ssi listxattr
|
|
llistxattr - llistxattr i:ssi llistxattr
|
|
flistxattr - flistxattr i:isi flistxattr
|
|
removexattr - removexattr i:ss removexattr
|
|
lremovexattr - lremovexattr i:ss lremovexattr
|
|
fremovexattr - fremovexattr i:is fremovexattr
|
|
|
|
mq_timedsend - mq_timedsend Ci:ipiip __mq_timedsend mq_timedsend
|
|
mq_timedreceive - mq_timedreceive Ci:ipipp __mq_timedreceive mq_timedreceive
|
|
mq_setattr - mq_getsetattr i:ipp mq_setattr
|
|
|
|
timerfd_create EXTRA timerfd_create i:ii timerfd_create
|
|
timerfd_settime EXTRA timerfd_settime i:iipp timerfd_settime
|
|
timerfd_gettime EXTRA timerfd_gettime i:ip timerfd_gettime
|
|
|
|
fanotify_init EXTRA fanotify_init i:ii fanotify_init
|
|
|
|
name_to_handle_at EXTRA name_to_handle_at i:isppi name_to_handle_at
|
|
open_by_handle_at EXTRA open_by_handle_at Ci:ipi open_by_handle_at
|
|
|
|
setns EXTRA setns i:ii setns
|
|
|
|
process_vm_readv EXTRA process_vm_readv i:ipipii process_vm_readv
|
|
process_vm_writev EXTRA process_vm_writev i:ipipii process_vm_writev
|