be91052932
This patch uses __kernel_vsyscall instead of "int 0x80" as the syscall entry point. AT_SYSINFO points to an adapter to mask the arch specific difference and gives a performance boost on i386 architecture. Change-ID: Ib340c604d02c6c25714a95793737e3cfdc3fc5d7 Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
35 lines
685 B
ArmAsm
35 lines
685 B
ArmAsm
/* Generated by gensyscalls.py. Do not edit. */
|
|
|
|
#include <private/bionic_asm.h>
|
|
|
|
ENTRY(setsockopt)
|
|
pushl %ebx
|
|
.cfi_def_cfa_offset 8
|
|
.cfi_rel_offset ebx, 0
|
|
pushl %ecx
|
|
.cfi_adjust_cfa_offset 4
|
|
.cfi_rel_offset ecx, 0
|
|
|
|
call __kernel_syscall
|
|
pushl %eax
|
|
.cfi_adjust_cfa_offset 4
|
|
.cfi_rel_offset eax, 0
|
|
|
|
mov $14, %ebx
|
|
mov %esp, %ecx
|
|
addl $16, %ecx
|
|
movl $__NR_socketcall, %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 %ecx
|
|
popl %ebx
|
|
ret
|
|
END(setsockopt)
|