summaryrefslogtreecommitdiffstats
path: root/libc/arch-x86/syscalls/__setuid.S
diff options
context:
space:
mode:
authorMike Chan <mike@android.com>2010-03-02 10:55:58 -0800
committerMike Chan <mike@android.com>2010-03-02 18:18:04 -0800
commit9f6915631b918a56e0e6be958fb14d274cbab322 (patch)
tree5d3b311f885dd053f4b816f69e8961ee21c37938 /libc/arch-x86/syscalls/__setuid.S
parentbd9a90c443ee4582d2be1a68c6f3a2928d130ce4 (diff)
downloadbionic-9f6915631b918a56e0e6be958fb14d274cbab322.zip
bionic-9f6915631b918a56e0e6be958fb14d274cbab322.tar.gz
bionic-9f6915631b918a56e0e6be958fb14d274cbab322.tar.bz2
bonic: libc: cpuacct support for setuid functions
Any of the setuid functions now updates /acct/uid/ with its own tid before changing users. This is so we can properly account for cpu time per uid. Change-Id: I34186cf4d5228cac8439e582a9e26c01ef3011e4 Signed-off-by: Mike Chan <mike@android.com>
Diffstat (limited to 'libc/arch-x86/syscalls/__setuid.S')
-rw-r--r--libc/arch-x86/syscalls/__setuid.S23
1 files changed, 23 insertions, 0 deletions
diff --git a/libc/arch-x86/syscalls/__setuid.S b/libc/arch-x86/syscalls/__setuid.S
new file mode 100644
index 0000000..1e5f285
--- /dev/null
+++ b/libc/arch-x86/syscalls/__setuid.S
@@ -0,0 +1,23 @@
+/* autogenerated by gensyscalls.py */
+#include <sys/linux-syscalls.h>
+
+ .text
+ .type __setuid, @function
+ .globl __setuid
+ .align 4
+
+__setuid:
+ pushl %ebx
+ mov 8(%esp), %ebx
+ movl $__NR_setuid32, %eax
+ int $0x80
+ cmpl $-129, %eax
+ jb 1f
+ negl %eax
+ pushl %eax
+ call __set_errno
+ addl $4, %esp
+ orl $-1, %eax
+1:
+ popl %ebx
+ ret