From 71f8450fce910b1e3aa8bb17c61b10ce4a08b52f Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 11 Aug 2005 22:36:11 +0000 Subject: jump straight to __syscall_error --- libc/sysdeps/linux/i386/clone.S | 13 +++++-------- libc/sysdeps/linux/i386/mmap64.S | 5 +---- libc/sysdeps/linux/i386/syscall.S | 5 +---- libc/sysdeps/linux/i386/vfork.S | 5 +---- 4 files changed, 8 insertions(+), 20 deletions(-) (limited to 'libc') diff --git a/libc/sysdeps/linux/i386/clone.S b/libc/sysdeps/linux/i386/clone.S index fbbb7d4cf..259982230 100644 --- a/libc/sysdeps/linux/i386/clone.S +++ b/libc/sysdeps/linux/i386/clone.S @@ -51,19 +51,19 @@ __clone: /* no NULL function pointers */ movl FUNC(%esp),%ecx #ifdef __PIC__ - jecxz __error + jecxz __syscall_error #else testl %ecx,%ecx - jz __error + jz __syscall_error #endif /* no NULL stack pointers */ movl STACK(%esp),%ecx #ifdef __PIC__ - jecxz __error + jecxz __syscall_error #else testl %ecx,%ecx - jz __error + jz __syscall_error #endif /* Insert the argument onto the new stack. Make sure the new @@ -96,7 +96,7 @@ __clone: popl %ebx test %eax,%eax - jl __error + jl __syscall_error jz .Lthread_start ret @@ -114,9 +114,6 @@ __clone: movl $__NR_exit, %eax int $0x80 -__error: - jmp __syscall_error - .size __clone,.-__clone .weak clone diff --git a/libc/sysdeps/linux/i386/mmap64.S b/libc/sysdeps/linux/i386/mmap64.S index 34cee1640..5c89c983b 100644 --- a/libc/sysdeps/linux/i386/mmap64.S +++ b/libc/sysdeps/linux/i386/mmap64.S @@ -76,7 +76,7 @@ mmap64: /* If 0 > %eax > -4096 there was an error. */ cmpl $-4095,%eax - ja __error + ja __syscall_error /* Successful; return the syscall's value. */ ret @@ -89,9 +89,6 @@ L_einval: movl $-EINVAL, %eax jmp __error -__error: - jmp __syscall_error - .size mmap64,.-mmap64 #endif diff --git a/libc/sysdeps/linux/i386/syscall.S b/libc/sysdeps/linux/i386/syscall.S index 44eb00f49..19adf97a8 100644 --- a/libc/sysdeps/linux/i386/syscall.S +++ b/libc/sysdeps/linux/i386/syscall.S @@ -45,10 +45,7 @@ syscall: popl %ebp cmpl $-4095,%eax - jae __error + jae __syscall_error ret /* Return to caller. */ -__error: - jmp __syscall_error - .size syscall,.-syscall diff --git a/libc/sysdeps/linux/i386/vfork.S b/libc/sysdeps/linux/i386/vfork.S index 19c1210cb..d382dbac3 100644 --- a/libc/sysdeps/linux/i386/vfork.S +++ b/libc/sysdeps/linux/i386/vfork.S @@ -23,12 +23,9 @@ __vfork: int $0x80 pushl %ecx cmpl $-4095,%eax - jae __error + jae __syscall_error ret -__error: - jmp __syscall_error - .size __vfork,.-__vfork -- cgit v1.2.3