blob: 1203e6453704c78dae98c537499a3956b4189870 [file] [log] [blame]
Elliott Hughes103ccde2013-10-16 14:27:59 -07001/* Generated by gensyscalls.py. Do not edit. */
2
Elliott Hughesed744842013-11-07 10:31:05 -08003#include <private/bionic_asm.h>
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08004
Dan Albertbc9f9f22014-08-08 15:19:20 -07005 .hidden __set_errno
6
Elliott Hughescac7b9d2013-10-23 09:48:29 -07007ENTRY(dup3)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08008 pushl %ebx
Christopher Ferris15b91e92014-05-29 18:17:09 -07009 .cfi_def_cfa_offset 8
Christopher Ferrise4bc7562014-01-06 16:39:10 -080010 .cfi_rel_offset ebx, 0
Christopher Ferris15b91e92014-05-29 18:17:09 -070011 pushl %ecx
12 .cfi_adjust_cfa_offset 4
13 .cfi_rel_offset ecx, 0
14 pushl %edx
15 .cfi_adjust_cfa_offset 4
16 .cfi_rel_offset edx, 0
Elliott Hughescac7b9d2013-10-23 09:48:29 -070017 mov 16(%esp), %ebx
18 mov 20(%esp), %ecx
19 mov 24(%esp), %edx
20 movl $__NR_dup3, %eax
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021 int $0x80
Elliott Hughes9aceab52013-03-12 14:57:30 -070022 cmpl $-MAX_ERRNO, %eax
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080023 jb 1f
24 negl %eax
25 pushl %eax
Dan Albert3726f9c2014-08-08 15:15:29 -070026 call __set_errno
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080027 addl $4, %esp
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800281:
Elliott Hughescac7b9d2013-10-23 09:48:29 -070029 popl %edx
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080030 popl %ecx
31 popl %ebx
32 ret
Elliott Hughescac7b9d2013-10-23 09:48:29 -070033END(dup3)