diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-08-12 22:51:08 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-08-12 22:51:08 +0000 |
commit | 3417dd5c9165f05d944bb1e877471c91041ea866 (patch) | |
tree | 60b11aa8dd4cb2094b0b8bde37c93e7617661f93 /libc/sysdeps/linux | |
parent | e6b5b0f238204eeccd8b54db36c2f2836aef09be (diff) |
revert __error -> __syscall_error change since it doesnt work for clone
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r-- | libc/sysdeps/linux/i386/clone.S | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/i386/clone.S b/libc/sysdeps/linux/i386/clone.S index 259982230..35a4e5b7f 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 __syscall_error + jecxz __error #else testl %ecx,%ecx - jz __syscall_error + jz __error #endif /* no NULL stack pointers */ movl STACK(%esp),%ecx #ifdef __PIC__ - jecxz __syscall_error + jecxz __error #else testl %ecx,%ecx - jz __syscall_error + jz __error #endif /* Insert the argument onto the new stack. Make sure the new @@ -96,7 +96,7 @@ __clone: popl %ebx test %eax,%eax - jl __syscall_error + jl __error jz .Lthread_start ret @@ -114,6 +114,12 @@ __clone: movl $__NR_exit, %eax int $0x80 +/* Need to indirect jump to syscall error + * or we end up with TEXTREL's + */ +__error: + jmp __syscall_error + .size __clone,.-__clone .weak clone |