diff options
| author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2005-08-17 14:48:11 +0000 |
|---|---|---|
| committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2005-08-17 14:48:11 +0000 |
| commit | 54a7d559374ef72fa59bbe3a56d27ff5ec34d3aa (patch) | |
| tree | 1fe7209313f2728c550d3eb75929b4af051fb349 /libc/sysdeps/linux/i386 | |
| parent | b46868ff8b3d2fb592e3fca4a516695533eae9e5 (diff) | |
| download | uClibc-alpine-54a7d559374ef72fa59bbe3a56d27ff5ec34d3aa.tar.bz2 uClibc-alpine-54a7d559374ef72fa59bbe3a56d27ff5ec34d3aa.tar.xz | |
Merge/sync with trunk.
Diffstat (limited to 'libc/sysdeps/linux/i386')
| -rw-r--r-- | libc/sysdeps/linux/i386/clone.S | 16 | ||||
| -rw-r--r-- | libc/sysdeps/linux/i386/mmap64.S | 2 |
2 files changed, 12 insertions, 6 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 diff --git a/libc/sysdeps/linux/i386/mmap64.S b/libc/sysdeps/linux/i386/mmap64.S index 5c89c983b..5405c8a09 100644 --- a/libc/sysdeps/linux/i386/mmap64.S +++ b/libc/sysdeps/linux/i386/mmap64.S @@ -87,7 +87,7 @@ L_einval: popl %ebx popl %ebp movl $-EINVAL, %eax - jmp __error + jmp __syscall_error .size mmap64,.-mmap64 |
