diff options
| author | Elliott Hughes <enh@google.com> | 2012-04-16 09:09:04 -0700 |
|---|---|---|
| committer | android code review <noreply-gerritcodereview@google.com> | 2012-04-16 09:09:05 -0700 |
| commit | 4994deaef51d5fa1ac12e6160b47d9cbe3b2bc43 (patch) | |
| tree | 83d2a1780ad295899ea3ed18dea561f107de76c8 /libc | |
| parent | 7b8666e683e56549091b86fd7b9c421fd0124dbc (diff) | |
| parent | d515ce465be909d830a39462c3f196b5d7f35c66 (diff) | |
| download | bionic-4994deaef51d5fa1ac12e6160b47d9cbe3b2bc43.zip bionic-4994deaef51d5fa1ac12e6160b47d9cbe3b2bc43.tar.gz bionic-4994deaef51d5fa1ac12e6160b47d9cbe3b2bc43.tar.bz2 | |
Merge "Bionic: Fix wrong prototype of system call clock_nanosleep"
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/SYSCALLS.TXT | 2 | ||||
| -rw-r--r-- | libc/arch-x86/syscalls/clock_nanosleep.S | 10 | ||||
| -rw-r--r-- | libc/include/sys/linux-unistd.h | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/libc/SYSCALLS.TXT b/libc/SYSCALLS.TXT index 10ef27f..765d2fa 100644 --- a/libc/SYSCALLS.TXT +++ b/libc/SYSCALLS.TXT @@ -181,7 +181,7 @@ int nanosleep(const struct timespec *, struct timespec *) 162 int clock_gettime(clockid_t clk_id, struct timespec *tp) 263,265 int clock_settime(clockid_t clk_id, const struct timespec *tp) 262,264 int clock_getres(clockid_t clk_id, struct timespec *res) 264,266 -int clock_nanosleep(const struct timespec *req, struct timespec *rem) 265,267 +int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *req, struct timespec *rem) 265,267 int getitimer(int, const struct itimerval *) 105 int setitimer(int, const struct itimerval *, struct itimerval *) 104 int __timer_create:timer_create(clockid_t clockid, struct sigevent *evp, timer_t *timerid) 257,259 diff --git a/libc/arch-x86/syscalls/clock_nanosleep.S b/libc/arch-x86/syscalls/clock_nanosleep.S index c400e3f..23e1e6f 100644 --- a/libc/arch-x86/syscalls/clock_nanosleep.S +++ b/libc/arch-x86/syscalls/clock_nanosleep.S @@ -9,8 +9,12 @@ clock_nanosleep: pushl %ebx pushl %ecx - mov 12(%esp), %ebx - mov 16(%esp), %ecx + pushl %edx + pushl %esi + mov 20(%esp), %ebx + mov 24(%esp), %ecx + mov 28(%esp), %edx + mov 32(%esp), %esi movl $__NR_clock_nanosleep, %eax int $0x80 cmpl $-129, %eax @@ -21,6 +25,8 @@ clock_nanosleep: addl $4, %esp orl $-1, %eax 1: + popl %esi + popl %edx popl %ecx popl %ebx ret diff --git a/libc/include/sys/linux-unistd.h b/libc/include/sys/linux-unistd.h index 84ea7c3..12a7ac4 100644 --- a/libc/include/sys/linux-unistd.h +++ b/libc/include/sys/linux-unistd.h @@ -142,7 +142,7 @@ int nanosleep (const struct timespec *, struct timespec *); int clock_gettime (clockid_t clk_id, struct timespec *tp); int clock_settime (clockid_t clk_id, const struct timespec *tp); int clock_getres (clockid_t clk_id, struct timespec *res); -int clock_nanosleep (const struct timespec *req, struct timespec *rem); +int clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req, struct timespec *rem); int getitimer (int, const struct itimerval *); int setitimer (int, const struct itimerval *, struct itimerval *); int __timer_create (clockid_t clockid, struct sigevent *evp, timer_t *timerid); |
