libc/linuxthreads/sysdeps/i386 useldt.h
roland@sources.redhat.com
roland@sources.redhat.com
Fri Aug 16 13:16:00 GMT 2002
CVSROOT: /cvs/glibc
Module name: libc
Changes by: roland@sources.redhat.com 2002-08-16 13:16:23
Modified files:
linuxthreads/sysdeps/i386: useldt.h
Log message:
2002-08-16 Roland McGrath <roland@redhat.com>
* 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.
More information about the Glibc-cvs
mailing list