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.
This commit is contained in:
Rich Felker
2011-04-17 16:32:15 -04:00
parent 09dae2b7b6
commit eb0e8fa0b1
7 changed files with 8 additions and 8 deletions

View File

@ -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;

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}
}