diff options
Diffstat (limited to 'sysdeps/unix/i386/sysdep.S')
-rw-r--r-- | sysdeps/unix/i386/sysdep.S | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/unix/i386/sysdep.S b/sysdeps/unix/i386/sysdep.S index b296bb707a..ff1fc0f431 100644 --- a/sysdeps/unix/i386/sysdep.S +++ b/sysdeps/unix/i386/sysdep.S @@ -39,8 +39,9 @@ syscall_error: notb: #endif #ifndef PIC +#ifndef _LIBC_REENTRANT movl %eax, C_SYMBOL_NAME(errno) -#ifdef _LIBC_REENTRANT +#else pushl %eax call __errno_location popl %ecx @@ -49,14 +50,13 @@ notb: #else /* The caller has pushed %ebx and then set it up to point to the GOT before calling us through the PLT. */ +#ifndef _LIBC_REENTRANT movl C_SYMBOL_NAME(errno@GOT)(%ebx), %ecx -#ifndef _LIBC_REENTRANT /* Pop %ebx value saved before jumping here. */ popl %ebx movl %eax, (%ecx) #else - movl %eax, (%ecx) pushl %eax call C_SYMBOL_NAME(__errno_location@PLT) popl %ecx |