* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): Rewrite asm to use %ebx
authorRoland McGrath <roland@gnu.org>
Fri, 16 Aug 2002 20:16:38 +0000 (20:16 +0000)
committerRoland McGrath <roland@gnu.org>
Fri, 16 Aug 2002 20:16:38 +0000 (20:16 +0000)
commit25cb6eb22999e61aa3f97009c561eb142ca846ce
tree3656c6bf2c927073493d02be86ee95a32843787f
parentc88b47593ad1ca29959ebb6dc76c738395ae8233
* 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
linuxthreads/sysdeps/i386/tls.h
linuxthreads/sysdeps/i386/useldt.h