* sysdeps/x86_64/tls.h: Remove unnecessary macros, left over from x86.
	(TLS_GET_FS): New #define.
	(TLS_SET_FS): New #define.
	Correct value of __NR_set_thread_area.
This commit is contained in:
Ulrich Drepper 2003-02-07 09:58:39 +00:00
parent fef710d61d
commit c6180643ff
2 changed files with 14 additions and 10 deletions

View File

@ -1,5 +1,10 @@
2003-02-07 Ulrich Drepper <drepper@redhat.com> 2003-02-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/x86_64/tls.h: Remove unnecessary macros, left over from x86.
(TLS_GET_FS): New #define.
(TLS_SET_FS): New #define.
Correct value of __NR_set_thread_area.
* sysdeps/x86_64/td_ta_map_lwp2thr.c: New file. * sysdeps/x86_64/td_ta_map_lwp2thr.c: New file.
2003-02-06 Ulrich Drepper <drepper@redhat.com> 2003-02-06 Ulrich Drepper <drepper@redhat.com>

View File

@ -1,5 +1,5 @@
/* Definition for thread-local data handling. nptl/x86_64 version. /* Definition for thread-local data handling. nptl/x86_64 version.
Copyright (C) 2002 Free Software Foundation, Inc. Copyright (C) 2002, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -120,8 +120,15 @@ union user_desc_init
(((tcbhead_t *) (descr))->dtv) (((tcbhead_t *) (descr))->dtv)
/* Macros to load from and store into segment registers. */
# define TLS_GET_FS() \
({ int __seg; __asm ("movl %%fs, %0" : "=q" (__seg)); __seg; })
# define TLS_SET_FS(val) \
__asm ("movl %0, %%fs" :: "q" (val))
# ifndef __NR_set_thread_area # ifndef __NR_set_thread_area
# define __NR_set_thread_area 243 # define __NR_set_thread_area 205
# endif # endif
# ifndef TLS_FLAG_WRITABLE # ifndef TLS_FLAG_WRITABLE
# define TLS_FLAG_WRITABLE 0x00000001 # define TLS_FLAG_WRITABLE 0x00000001
@ -134,14 +141,6 @@ union user_desc_init
# endif # endif
#endif #endif
# ifdef __PIC__
# define TLS_EBX_ARG "r"
# define TLS_LOAD_EBX "xchgl %3, %%ebx\n\t"
# else
# define TLS_EBX_ARG "b"
# define TLS_LOAD_EBX
# endif
/* Code to initially initialize the thread pointer. This might need /* Code to initially initialize the thread pointer. This might need
special attention since 'errno' is not yet available and if the special attention since 'errno' is not yet available and if the
operation can cause a failure 'errno' must not be touched. operation can cause a failure 'errno' must not be touched.