From 7de490c6863aa4bb81d3a1cb4a0a35028aeee260 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 30 Sep 2002 10:26:28 +0000 Subject: 2002-09-30 Roland McGrath * sysdeps/unix/sysv/linux/i386/sysdep.h [USE_TLS && HAVE___THREAD] (SYSCALL_ERROR_HANDLER): Use direct-%gs form of TLS access for errno. --- sysdeps/unix/sysv/linux/i386/sysdep.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h index 6dbeb3d297..ed0bdf6b7d 100644 --- a/sysdeps/unix/sysv/linux/i386/sysdep.h +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h @@ -99,11 +99,10 @@ __i686.get_pc_thunk.reg: \ # define SYSCALL_ERROR_HANDLER \ 0:SETUP_PIC_REG (cx); \ addl $_GLOBAL_OFFSET_TABLE_, %ecx; \ + movl errno@gotntpoff(%ecx), %ecx; \ xorl %edx, %edx; \ subl %eax, %edx; \ - movl %gs:0, %eax; \ - subl errno@gottpoff(%ecx), %eax; \ - movl %edx, (%eax); \ + movl %edx, %gs:0(%ecx); \ orl $-1, %eax; \ jmp L(pseudo_end); # else @@ -127,7 +126,7 @@ __i686.get_pc_thunk.reg: \ # endif # else # define SYSCALL_ERROR_HANDLER \ -0:define SETUP_PIC_REG(cx); \ +0:SETUP_PIC_REG(cx); \ addl $_GLOBAL_OFFSET_TABLE_, %ecx; \ xorl %edx, %edx; \ subl %eax, %edx; \ -- cgit v1.2.3