#undef _syscall0 #undef _syscall1 #undef _syscall2 #undef _syscall3 #undef _syscall4 #undef _syscall5 #include "str_syscalls.h" #undef uClibc_syscall_exit #define uClibc_syscall_exit(type,name,type1,arg1) \ __asm__ ( \ ".text\n.align 4\n.global "###name"\n"#name":;\npushl %ebp;\n" \ "movl %esp,%ebp;\nsubl $4,%esp;\npushl %ebx;\nmovl 8(%ebp),%ebx;\n" \ "jmp _start_exit" \ ) #define unified_syscall_body(name) \ __asm__ ( \ ".text\n.align 4\n.global "###name"\n"#name":\nmovb $"__STR_NR_##name \ ",%al;\n jmp __uClibc_syscall" \ ) #define _syscall0(type,name) \ unified_syscall_body(name) #define _syscall1(type,name,type1,arg1) \ unified_syscall_body(name) #define _syscall2(type,name,type1,arg1,type2,arg2) \ unified_syscall_body(name) #define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ unified_syscall_body(name) #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ unified_syscall_body(name) #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \ unified_syscall_body(name)