diff options
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r-- | libc/sysdeps/linux/arm/sysdep.h | 11 | ||||
-rw-r--r-- | libc/sysdeps/linux/i386/sysdep.h | 12 | ||||
-rw-r--r-- | libc/sysdeps/linux/metag/sysdep.h | 11 | ||||
-rw-r--r-- | libc/sysdeps/linux/sh/sysdep.h | 17 | ||||
-rw-r--r-- | libc/sysdeps/linux/x86_64/sysdep.h | 9 |
5 files changed, 2 insertions, 58 deletions
diff --git a/libc/sysdeps/linux/arm/sysdep.h b/libc/sysdeps/linux/arm/sysdep.h index f8f2f8a4a..80bf9eca9 100644 --- a/libc/sysdeps/linux/arm/sysdep.h +++ b/libc/sysdeps/linux/arm/sysdep.h @@ -142,16 +142,6 @@ #if defined NOT_IN_libc # define SYSCALL_ERROR __local_syscall_error -# ifdef RTLD_PRIVATE_ERRNO -# define SYSCALL_ERROR_HANDLER \ -__local_syscall_error: \ - ldr r1, 1f; \ - rsb r0, r0, #0; \ -0: str r0, [pc, r1]; \ - mvn r0, #0; \ - DO_RET(lr); \ -1: .word C_SYMBOL_NAME(rtld_errno) - 0b - 8; -# else # define SYSCALL_ERROR_HANDLER \ __local_syscall_error: \ str lr, [sp, #-4]!; \ @@ -162,7 +152,6 @@ __local_syscall_error: \ str r1, [r0]; \ mvn r0, #0; \ ldr pc, [sp], #4; -# endif #else # define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ # define SYSCALL_ERROR __syscall_error diff --git a/libc/sysdeps/linux/i386/sysdep.h b/libc/sysdeps/linux/i386/sysdep.h index 79e53a1c6..c15c1b494 100644 --- a/libc/sysdeps/linux/i386/sysdep.h +++ b/libc/sysdeps/linux/i386/sysdep.h @@ -186,17 +186,7 @@ __x86.get_pc_thunk.reg: \ # define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ #else -# ifdef RTLD_PRIVATE_ERRNO -# define SYSCALL_ERROR_HANDLER \ -0:SETUP_PIC_REG(cx); \ - addl $_GLOBAL_OFFSET_TABLE_, %ecx; \ - xorl %edx, %edx; \ - subl %eax, %edx; \ - movl %edx, rtld_errno@GOTOFF(%ecx); \ - orl $-1, %eax; \ - jmp L(pseudo_end); - -# elif defined _LIBC_REENTRANT +# if defined _LIBC_REENTRANT # if defined USE___THREAD # ifndef NOT_IN_libc diff --git a/libc/sysdeps/linux/metag/sysdep.h b/libc/sysdeps/linux/metag/sysdep.h index 8750641b6..3af7131c9 100644 --- a/libc/sysdeps/linux/metag/sysdep.h +++ b/libc/sysdeps/linux/metag/sysdep.h @@ -24,16 +24,6 @@ #if defined NOT_IN_libc # define SYSCALL_ERROR __local_syscall_error -# ifdef RTLD_PRIVATE_ERRNO -# define SYSCALL_ERROR_HANDLER \ -__local_syscall_error: \ - NEG D0Re0, D0Re0; \ - ADDT D1Re0, CPC1, #HI(_rtld_errno); \ - ADD D1Re0, D1Re0, #LO(_rtld_errno) + 4; \ - SETD [D1Re0], D0Re0; \ - NEG D0Re0, #0x1; \ - MOV PC, D1RtP; -# else # define SYSCALL_ERROR_HANDLER \ __local_syscall_error: \ MOV D1Re0, D1RtP; \ @@ -46,7 +36,6 @@ __local_syscall_error: \ GETD D1RtP, [A0StP+#-4]; \ SUB A0StP, A0StP, #0x8; \ MOV PC, D1RtP; -# endif #else # define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ # define SYSCALL_ERROR ___syscall_error diff --git a/libc/sysdeps/linux/sh/sysdep.h b/libc/sysdeps/linux/sh/sysdep.h index 137dd1ddf..56fa3f7b1 100644 --- a/libc/sysdeps/linux/sh/sysdep.h +++ b/libc/sysdeps/linux/sh/sysdep.h @@ -130,22 +130,7 @@ #include <libc/sysdeps/linux/sh/syscall_error.S> #else -# ifdef RTLD_PRIVATE_ERRNO - -# define SYSCALL_ERROR_HANDLER \ - neg r0,r1; \ - mov.l 0f,r12; \ - mova 0f,r0; \ - add r0,r12; \ - mov.l 1f,r0; \ - mov.l r1,@(r0,r12) - bra .Lpseudo_end; \ - mov _IMM1,r0; \ - .align 2; \ - 0: .long _GLOBAL_OFFSET_TABLE_; \ - 1: .long rtld_errno@GOTOFF - -# elif defined _LIBC_REENTRANT +# if defined _LIBC_REENTRANT # if defined USE___THREAD diff --git a/libc/sysdeps/linux/x86_64/sysdep.h b/libc/sysdeps/linux/x86_64/sysdep.h index a5971d7fa..61d2be8e4 100644 --- a/libc/sysdeps/linux/x86_64/sysdep.h +++ b/libc/sysdeps/linux/x86_64/sysdep.h @@ -167,15 +167,6 @@ lose: \ # ifndef __PIC__ # define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ -# elif defined(RTLD_PRIVATE_ERRNO) -# define SYSCALL_ERROR_HANDLER \ -0: \ - leaq rtld_errno(%rip), %rcx; \ - xorl %edx, %edx; \ - subq %rax, %rdx; \ - movl %edx, (%rcx); \ - orq $-1, %rax; \ - jmp L(pseudo_end); # elif USE___THREAD # ifndef NOT_IN_libc # define SYSCALL_ERROR_ERRNO __libc_errno |