From 25cb6eb22999e61aa3f97009c561eb142ca846ce Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 16 Aug 2002 20:16:38 +0000 Subject: * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): Rewrite asm to use %ebx optimally conditional on [__PIC__]. (TLS_DO_SET_THREAD_AREA): New macro, implement inline syscall without touching errno, and use latest modify_ldt-like interface. (TLS_SETUP_GS_SEGMENT): Use that instead of INLINE_SYSCALL. * sysdeps/i386/useldt.h (DO_MODIFY_LDT): Set %gs in this macro. (DO_SET_THREAD_AREA): New macro, uses current syscall interface with existing %gs value as the segment to set. (INIT_THREAD_SELF): Rewritten using those. Use set_thread_area only under [HAVE_TLS_SUPPORT] so we can rely on the initialization done by the first thread's early TLS setup. --- linuxthreads/ChangeLog | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'linuxthreads/ChangeLog') diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index cd529e89f6..9fa83225e6 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,17 @@ +2002-08-16 Roland McGrath + + * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): Rewrite asm to use %ebx + optimally conditional on [__PIC__]. + (TLS_DO_SET_THREAD_AREA): New macro, implement inline syscall + without touching errno, and use latest modify_ldt-like interface. + (TLS_SETUP_GS_SEGMENT): Use that instead of INLINE_SYSCALL. + * sysdeps/i386/useldt.h (DO_MODIFY_LDT): Set %gs in this macro. + (DO_SET_THREAD_AREA): New macro, uses current syscall interface with + existing %gs value as the segment to set. + (INIT_THREAD_SELF): Rewritten using those. Use set_thread_area only + under [HAVE_TLS_SUPPORT] so we can rely on the initialization done + by the first thread's early TLS setup. + 2002-08-15 Roland McGrath * sysdeps/i386/tls.h (TLS_INIT_TP): Use statement expression and -- cgit v1.2.3