summaryrefslogtreecommitdiff
path: root/nptl_db/fetch-value.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-08-21 14:46:05 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-10-19 10:45:25 -0700
commit6f6e3ee567cbff328df83dcf9ee0a5459746fce0 (patch)
treea61f9d12d5b24e37ac8d4e39c9585e37e0e4f900 /nptl_db/fetch-value.c
parent2028f49dabb94bd56a85a7be16141bee4853aae6 (diff)
downloadglibc-hjl/i386/master.tar.gz
Avoid reading errno in syscall implementationshjl/i386/master
Reading errno is expensive for x86 PIC. With INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO and INLINE_SYSCALL_ERROR_RETURN_VALUE, we can avoid reading errno. There are no code changes on x86-64. On i686, libc.so sizes in bytes show: text data bss dec after 1748495 11380 11132 1771007 before 1748403 11380 11132 1770915 * sysdeps/unix/sysv/linux/eventfd.c (eventfd): Use INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P and INTERNAL_SYSCALL_ERRNO to avoid reading errno. * sysdeps/unix/sysv/linux/fstatfs64.c (__fstatfs64): Likewise. * sysdeps/unix/sysv/linux/getrlimit64.c (__getrlimit64): Likewise. * sysdeps/unix/sysv/linux/setrlimit64.c (setrlimit64): Likewise. * sysdeps/unix/sysv/linux/signalfd.c (signalfd): Likewise. * sysdeps/unix/sysv/linux/statfs64.c (__statfs64): Likewise.
Diffstat (limited to 'nptl_db/fetch-value.c')
0 files changed, 0 insertions, 0 deletions