This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! 2002-10-14 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Include tls.h. (SYSCALL_ERROR_HANDLER): Use RTLD_PRIVATE_ERRNO sequence in ld.so even if __thread is supported. --- libc/sysdeps/unix/sysv/linux/x86_64/sysdep.h.jj 2002-10-11 08:54:41.000000000 -0400 +++ libc/sysdeps/unix/sysv/linux/x86_64/sysdep.h 2002-10-14 08:16:36.000000000 -0400 @@ -23,6 +23,7 @@ #include <sysdeps/unix/x86_64/sysdep.h> #include <bp-sym.h> #include <bp-asm.h> +#include <tls.h> #ifdef IS_IN_rtld # include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */ @@ -82,22 +83,22 @@ #ifndef PIC #define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ -#elif USE___THREAD +#elif RTLD_PRIVATE_ERRNO # define SYSCALL_ERROR_HANDLER \ 0: \ - movq errno@GOTTPOFF(%rip), %rcx; \ + leaq errno(%rip), %rcx; \ xorq %rdx, %rdx; \ subq %rax, %rdx; \ - movl %edx, %fs:(%rcx); \ + movl %edx, (%rcx); \ orq $-1, %rax; \ jmp L(pseudo_end); -#elif RTLD_PRIVATE_ERRNO +#elif USE___THREAD # define SYSCALL_ERROR_HANDLER \ 0: \ - leaq errno(%rip), %rcx; \ + movq errno@GOTTPOFF(%rip), %rcx; \ xorq %rdx, %rdx; \ subq %rax, %rdx; \ - movl %edx, (%rcx); \ + movl %edx, %fs:(%rcx); \ orq $-1, %rax; \ jmp L(pseudo_end); #elif defined _LIBC_REENTRANT Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |