mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-16 08:00:05 +00:00
5e46749c64
Consolidate generic gettimeofday implementation to use clock_gettime. Linux ports that still provide gettimeofday through vDSO are not changed. Remove sysdeps/unix/clock_gettime.c, which implemented clock_gettime using gettimeofday; new OS ports must provide a real implementation of clock_gettime. Rename sysdeps/mach/gettimeofday.c to sysdeps/mach/clock_gettime.c and convert into an implementation of clock_gettime. It only supports CLOCK_REALTIME; Mach does not appear to have any support for monotonic clocks. It uses __host_get_time, which provides at best microsecond resolution. Hurd is currently using sysdeps/posix/clock_getres.c for clock_getres; its output for CLOCK_REALTIME is based on sysconf (_SC_CLK_TCK), and I do not know whether that gives the correct result. Unlike settimeofday, there are no known uses of gettimeofday's vestigial "get time zone" feature that are not bugs. (The per-process timezone support in localtime and friends is unrelated, and the programs that set the kernel's offset between the hardware clock and UTC do not need to read it back.) Therefore, this feature is dummied out. Henceforth, if gettimeofday's "struct timezone" argument is not NULL, it will write zeroes to both fields. Any program that is actually looking at this data will thus think it is running in UTC, which is probably more correct than whatever it was doing before. [__]gettimeofday no longer has any internal callers, so we can now remove its internal prototype and PLT bypass aliases. The __gettimeofday@GLIBC_2.0 export remains, in case it is used by any third-party code. It also allows to simplify the arch-specific implementation on x86 and powerpc to remove the hack to disable the internal route to non iFUNC variant for internal symbol. This patch also fixes a missing optimization on aarch64, powerpc, and x86 where the code used on static build do not use the vDSO. Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu, powerpc64-linux-gnu, powerpc-linux-gnu, and aarch64-linux-gnu. Co-authored-by: Zack Weinberg <zackw@panix.com> Reviewed-by: Lukasz Majewski <lukma@denx.de>
99 lines
4.0 KiB
Plaintext
99 lines
4.0 KiB
Plaintext
# File name Caller Syscall name Args Strong name Weak names
|
|
|
|
accept - accept Ci:iBN __libc_accept accept
|
|
access - access i:si __access access
|
|
acct - acct i:S acct
|
|
adjtime - adjtime i:pp __adjtime adjtime
|
|
bind - bind i:ipi __bind bind
|
|
chdir - chdir i:s __chdir chdir
|
|
chmod - chmod i:si __chmod chmod
|
|
chown - chown i:sii __chown chown
|
|
chroot - chroot i:s chroot
|
|
close - close Ci:i __libc_close __close close
|
|
connect - connect Ci:ipi __libc_connect __connect connect
|
|
dup - dup i:i __dup dup
|
|
dup2 - dup2 i:ii __dup2 dup2
|
|
dup3 - dup3 i:iii __dup3 dup3
|
|
fchdir - fchdir i:i __fchdir fchdir
|
|
fchmod - fchmod i:ii __fchmod fchmod
|
|
fchown - fchown i:iii __fchown fchown
|
|
fcntl - fcntl Ci:iiF __libc_fcntl __fcntl fcntl
|
|
fstatfs - fstatfs i:ip __fstatfs fstatfs
|
|
ftruncate - ftruncate i:ii __ftruncate ftruncate
|
|
getdomain - getdomainname i:si getdomainname
|
|
getgid - getgid Ei: __getgid getgid
|
|
getgroups - getgroups i:ip __getgroups getgroups
|
|
gethostid - gethostid i: gethostid
|
|
gethostname - gethostname i:bn __gethostname gethostname
|
|
getitimer - getitimer i:ip __getitimer getitimer
|
|
getpeername - getpeername i:ibN __getpeername getpeername
|
|
getpid - getpid Ei: __getpid getpid
|
|
getpriority - getpriority i:ii __getpriority getpriority
|
|
getrlimit - getrlimit i:ip __getrlimit getrlimit
|
|
getrusage - getrusage i:ip __getrusage getrusage
|
|
getsockname - getsockname i:ibN __getsockname getsockname
|
|
getsockopt - getsockopt i:iiiBN getsockopt
|
|
getuid - getuid Ei: __getuid getuid
|
|
ioctl - ioctl i:iiI __ioctl ioctl
|
|
kill - kill i:ii __kill kill
|
|
link - link i:ss __link link
|
|
listen - listen i:ii __listen listen
|
|
lseek - lseek i:iii __libc_lseek __lseek lseek
|
|
madvise - madvise i:pii __madvise madvise
|
|
mkdir - mkdir i:si __mkdir mkdir
|
|
mmap - mmap b:aniiii __mmap mmap
|
|
mprotect - mprotect i:aii __mprotect mprotect
|
|
munmap - munmap i:ai __munmap munmap
|
|
open - open Ci:siv __libc_open __open open
|
|
profil - profil i:piii __profil profil
|
|
ptrace - ptrace i:iiii ptrace
|
|
read - read Ci:ibn __libc_read __read read
|
|
readlink - readlink i:spi __readlink readlink
|
|
readv - readv Ci:ipi __readv readv
|
|
reboot - reboot i:i reboot
|
|
recv - recv Ci:ibni __libc_recv recv
|
|
recvfrom - recvfrom Ci:ibniBN __libc_recvfrom __recvfrom recvfrom
|
|
recvmsg - recvmsg Ci:ipi __libc_recvmsg __recvmsg recvmsg
|
|
rename - rename i:ss rename
|
|
rmdir - rmdir i:s __rmdir rmdir
|
|
select - select Ci:iPPPP __select __libc_select select
|
|
send - send Ci:ibni __libc_send __send send
|
|
sendmsg - sendmsg Ci:ipi __libc_sendmsg __sendmsg sendmsg
|
|
sendto - sendto Ci:ibnibn __libc_sendto __sendto sendto
|
|
setdomain - setdomainname i:si setdomainname
|
|
setegid - setegid i:i __setegid setegid
|
|
seteuid - seteuid i:i __seteuid seteuid
|
|
setgid - setgid i:i __setgid setgid
|
|
setgroups - setgroups i:ip setgroups
|
|
sethostid - sethostid i:i sethostid
|
|
sethostname - sethostname i:pi sethostname
|
|
setitimer - setitimer i:ipp __setitimer setitimer
|
|
setpgid - setpgrp i:ii __setpgid setpgid
|
|
setpriority - setpriority i:iii __setpriority setpriority
|
|
setregid - setregid i:ii __setregid setregid
|
|
setreuid - setreuid i:ii __setreuid setreuid
|
|
setrlimit - setrlimit i:ip __setrlimit setrlimit
|
|
setsid - setsid i: __setsid setsid
|
|
setsockopt - setsockopt i:iiibn setsockopt __setsockopt
|
|
setuid - setuid i:i __setuid setuid
|
|
shutdown - shutdown i:ii shutdown
|
|
sigaction - sigaction i:ipp __sigaction sigaction
|
|
sigsuspend - sigsuspend Ci:p sigsuspend
|
|
socket - socket i:iii __socket socket
|
|
socketpair - socketpair i:iiif socketpair
|
|
sstk - sstk b:i sstk
|
|
statfs - statfs i:sp __statfs statfs
|
|
swapoff - swapoff i:s swapoff
|
|
swapon - swapon i:s swapon
|
|
symlink - symlink i:ss __symlink symlink
|
|
sync - sync i: sync
|
|
syncfs - syncfs i:i syncfs
|
|
truncate - truncate i:si __truncate truncate
|
|
umask - umask Ei:i __umask umask
|
|
uname - uname i:p __uname uname
|
|
unlink - unlink i:s __unlink unlink
|
|
utimes - utimes i:sp __utimes utimes
|
|
vhangup - vhangup i:i vhangup
|
|
write - write Ci:ibn __libc_write __write write
|
|
writev - writev Ci:ipi __writev writev
|