From eb0e8fa0b1960cff4bd65ebefc798f70273b0bc9 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 17 Apr 2011 16:32:15 -0400 Subject: [PATCH] debloat: use __syscall instead of syscall where possible don't waste time (and significant code size due to function call overhead!) setting errno when the result of a syscall does not matter or when it can't fail. --- src/stdio/__fdopen.c | 4 ++-- src/stdio/__lockfile.c | 2 +- src/stdio/fopen.c | 2 +- src/stdio/tmpfile.c | 2 +- src/thread/pthread_mutex_trylock.c | 2 +- src/thread/pthread_self.c | 2 +- src/unistd/sync.c | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/stdio/__fdopen.c b/src/stdio/__fdopen.c index a0102674..b13318e5 100644 --- a/src/stdio/__fdopen.c +++ b/src/stdio/__fdopen.c @@ -20,8 +20,8 @@ FILE *__fdopen(int fd, const char *mode) /* Set append mode on fd if opened for append */ if (*mode == 'a') { - int flags = syscall(SYS_fcntl, fd, F_GETFL, 0); - syscall(SYS_fcntl, fd, F_SETFL, flags | O_APPEND); + int flags = __syscall(SYS_fcntl, fd, F_GETFL); + __syscall(SYS_fcntl, fd, F_SETFL, flags | O_APPEND); } f->fd = fd; diff --git a/src/stdio/__lockfile.c b/src/stdio/__lockfile.c index c0948255..4e0239e7 100644 --- a/src/stdio/__lockfile.c +++ b/src/stdio/__lockfile.c @@ -15,6 +15,6 @@ void __lockfile(FILE *f) } while (a_cas(&f->lock, 0, tid)) if (spins) spins--, a_spin(); - else syscall(SYS_sched_yield); + else __syscall(SYS_sched_yield); f->lockcount = 1; } diff --git a/src/stdio/fopen.c b/src/stdio/fopen.c index c2a350d1..469de6f0 100644 --- a/src/stdio/fopen.c +++ b/src/stdio/fopen.c @@ -27,7 +27,7 @@ FILE *fopen(const char *filename, const char *mode) f = __fdopen(fd, mode); if (f) return f; - syscall(SYS_close, fd); + __syscall(SYS_close, fd); return 0; } diff --git a/src/stdio/tmpfile.c b/src/stdio/tmpfile.c index 18c232f7..926d6601 100644 --- a/src/stdio/tmpfile.c +++ b/src/stdio/tmpfile.c @@ -17,7 +17,7 @@ FILE *tmpfile(void) fd = syscall(SYS_open, s, O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600); if (fd >= 0) { f = __fdopen(fd, "w+"); - syscall(SYS_unlink, s); + __syscall(SYS_unlink, s); return f; } } diff --git a/src/thread/pthread_mutex_trylock.c b/src/thread/pthread_mutex_trylock.c index ea1fa805..1fb6d0f2 100644 --- a/src/thread/pthread_mutex_trylock.c +++ b/src/thread/pthread_mutex_trylock.c @@ -14,7 +14,7 @@ int pthread_mutex_trylock(pthread_mutex_t *m) if (m->_m_type >= 4) { if (!self->robust_list.off) - syscall(SYS_set_robust_list, + __syscall(SYS_set_robust_list, &self->robust_list, 3*sizeof(long)); self->robust_list.off = (char*)&m->_m_lock-(char *)&m->_m_next; self->robust_list.pending = &m->_m_next; diff --git a/src/thread/pthread_self.c b/src/thread/pthread_self.c index e26476ce..e8bb9181 100644 --- a/src/thread/pthread_self.c +++ b/src/thread/pthread_self.c @@ -22,7 +22,7 @@ static int init_main_thread() main_thread.errno_ptr = __errno_location(); libc.errno_location = errno_location; main_thread.tid = main_thread.pid = - syscall(SYS_set_tid_address, &main_thread.tid); + __syscall(SYS_set_tid_address, &main_thread.tid); return 0; } diff --git a/src/unistd/sync.c b/src/unistd/sync.c index 20fafb4a..f18765aa 100644 --- a/src/unistd/sync.c +++ b/src/unistd/sync.c @@ -3,5 +3,5 @@ void sync(void) { - syscall(SYS_sync); + __syscall(SYS_sync); } -- 2.25.1