diff --git a/libc/SYSCALLS.TXT b/libc/SYSCALLS.TXT index a9bd4fdfc..5604582c3 100644 --- a/libc/SYSCALLS.TXT +++ b/libc/SYSCALLS.TXT @@ -47,8 +47,8 @@ uid_t getuid:getuid32 () 199 gid_t getgid:getgid32 () 200 uid_t geteuid:geteuid32 () 201 gid_t getegid:getegid32 () 202 -uid_t getresuid:getresuid32 () 209 -gid_t getresgid:getresgid32 () 211 +uid_t getresuid:getresuid32 (uid_t *ruid, uid_t *euid, uid_t *suid) 209 +gid_t getresgid:getresgid32 (gid_t *rgid, gid_t *egid, gid_t *sgid) 211 pid_t gettid() 224 ssize_t readahead(int, off64_t, size_t) 225 int getgroups:getgroups32(int, gid_t *) 205 diff --git a/libc/arch-x86/syscalls/getresgid.S b/libc/arch-x86/syscalls/getresgid.S index 454d32b33..d43aec408 100644 --- a/libc/arch-x86/syscalls/getresgid.S +++ b/libc/arch-x86/syscalls/getresgid.S @@ -7,6 +7,12 @@ .align 4 getresgid: + pushl %ebx + pushl %ecx + pushl %edx + mov 16(%esp), %ebx + mov 20(%esp), %ecx + mov 24(%esp), %edx movl $__NR_getresgid32, %eax int $0x80 cmpl $-129, %eax @@ -17,4 +23,7 @@ getresgid: addl $4, %esp orl $-1, %eax 1: + popl %edx + popl %ecx + popl %ebx ret diff --git a/libc/arch-x86/syscalls/getresuid.S b/libc/arch-x86/syscalls/getresuid.S index f07b5c529..f489d406a 100644 --- a/libc/arch-x86/syscalls/getresuid.S +++ b/libc/arch-x86/syscalls/getresuid.S @@ -7,6 +7,12 @@ .align 4 getresuid: + pushl %ebx + pushl %ecx + pushl %edx + mov 16(%esp), %ebx + mov 20(%esp), %ecx + mov 24(%esp), %edx movl $__NR_getresuid32, %eax int $0x80 cmpl $-129, %eax @@ -17,4 +23,7 @@ getresuid: addl $4, %esp orl $-1, %eax 1: + popl %edx + popl %ecx + popl %ebx ret