| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | /*- * Copyright (c) 2017 *	mirabilos <m@mirbsd.org> * * Provided that these terms and disclaimer and all copyright notices * are retained or reproduced in an accompanying document, permission * is granted to deal in this work without restriction, including un- * limited rights to use, publicly perform, distribute, sell, modify, * merge, give away, or sublicence. * * This work is provided "AS IS" and WITHOUT WARRANTY of any kind, to * the utmost extent permitted by applicable law, neither express nor * implied; without malicious intent or gross negligence. In no event * may a licensor, author or contributor be held liable for indirect, * direct, other damage, loss, or other issues arising in any way out * of dealing in the work, even if advised of the possibility of such * damage or existence of a defect, except proven that it results out * of said person's immediate fault when using the work as intended. */	.intel_syntax noprefix	.text/*- * long __libc_i386_syscall6(unsigned long nr, ...) with six varargs * * C definition: * extern long __libc_i386_syscall6(unsigned long, ...) *    __attribute__((__cdecl__)); * * Stack layout upon entry:		Offsets after saving: * [esp + 28]	arg6	-> ebp !	[esp + 44] * [esp + 24]	arg5	-> edi !	[esp + 40] * [esp + 20]	arg4	-> esi !	[esp + 36] * [esp + 16]	arg3	-> edx		[esp + 32] * [esp + 12]	arg2	-> ecx		[esp + 28] * [esp + 8]	arg1	-> ebx !	[esp + 24] * [esp + 4]	nr	-> eax		[esp + 20] * [esp]	return address		[esp + 16] *					[esp + 12]	saved ebp *					[esp + 8]	saved ebx *					[esp + 4]	saved esi *					[esp]		saved edi */	.p2align 4,0x90	.globl	__libc_i386_syscall6	.type	__libc_i386_syscall6,@function__libc_i386_syscall6:	push	ebp	push	ebx	push	esi	push	edi	mov	eax,[esp + 20]	/* nr */	mov	ebx,[esp + 24]	/* arg1 */	mov	ecx,[esp + 28]	/* arg2 */	mov	edx,[esp + 32]	/* arg3 */	mov	esi,[esp + 36]	/* arg4 */	mov	edi,[esp + 40]	/* arg5 */	mov	ebp,[esp + 44]	/* arg6 */	int	0x80	pop	edi	pop	esi	pop	ebx	pop	ebp	ret	.size	__libc_i386_syscall6,.-__libc_i386_syscall6
 |