aboutsummaryrefslogtreecommitdiffstats
path: root/libc/arch-x86/syscalls/writev.S
diff options
context:
space:
mode:
authorArne Coucheron <arco68@gmail.com>2016-10-27 09:47:10 +0200
committerArne Coucheron <arco68@gmail.com>2016-10-27 20:13:17 +0200
commit6b9dac8b7f047fed67a608ae777877facf20f0fe (patch)
tree014be30c00191ca1cbc19671a74f54dc884fe26b /libc/arch-x86/syscalls/writev.S
parent0d0b7a99e1baea5875467325829e0dafabb270b1 (diff)
downloadandroid_bionic-cm-14.0.tar.gz
android_bionic-cm-14.0.tar.bz2
android_bionic-cm-14.0.zip
Revert "bionic: Registration of trapping calls during libc initialization"cm-14.0
* Breaks camera on some devices. This reverts commit 0ca32a954f09c5eca1afd9b009389e10a88d3537. Change-Id: Id8652cf0e35ecf1ff4bb00899e1342ce04ebc409
Diffstat (limited to 'libc/arch-x86/syscalls/writev.S')
-rw-r--r--libc/arch-x86/syscalls/writev.S39
1 files changed, 39 insertions, 0 deletions
diff --git a/libc/arch-x86/syscalls/writev.S b/libc/arch-x86/syscalls/writev.S
new file mode 100644
index 000000000..664990589
--- /dev/null
+++ b/libc/arch-x86/syscalls/writev.S
@@ -0,0 +1,39 @@
+/* Generated by gensyscalls.py. Do not edit. */
+
+#include <private/bionic_asm.h>
+
+ENTRY(writev)
+ pushl %ebx
+ .cfi_def_cfa_offset 8
+ .cfi_rel_offset ebx, 0
+ pushl %ecx
+ .cfi_adjust_cfa_offset 4
+ .cfi_rel_offset ecx, 0
+ pushl %edx
+ .cfi_adjust_cfa_offset 4
+ .cfi_rel_offset edx, 0
+
+ call __kernel_syscall
+ pushl %eax
+ .cfi_adjust_cfa_offset 4
+ .cfi_rel_offset eax, 0
+
+ mov 20(%esp), %ebx
+ mov 24(%esp), %ecx
+ mov 28(%esp), %edx
+ movl $__NR_writev, %eax
+ call *(%esp)
+ addl $4, %esp
+
+ cmpl $-MAX_ERRNO, %eax
+ jb 1f
+ negl %eax
+ pushl %eax
+ call __set_errno_internal
+ addl $4, %esp
+1:
+ popl %edx
+ popl %ecx
+ popl %ebx
+ ret
+END(writev)