2004-10-18 Roland McGrath <roland@redhat.com>
authorroland <roland>
Tue, 19 Oct 2004 05:12:58 +0000 (05:12 +0000)
committerroland <roland>
Tue, 19 Oct 2004 05:12:58 +0000 (05:12 +0000)
[BZ #406]
* Makefile (linuxthreads-CPPFLAGS): New variable;
adds -DIS_IN_linuxthreads=1.
* sysdeps/i386/tls.h: Protect "useldt.h" with
[!IS_IN_linuxthreads && !DO_MODIFY_LDT].
* sysdeps/i386/i686/pt-machine.h: Revert last change.

linuxthreads/Makefile
linuxthreads/sysdeps/i386/i686/pt-machine.h
linuxthreads/sysdeps/i386/tls.h

index a16ae8d..a6689bb 100644 (file)
@@ -65,6 +65,8 @@ libpthread-static-only-routines = pthread_atfork
 
 libpthread-nonshared = pthread_atfork
 
 
 libpthread-nonshared = pthread_atfork
 
+linuxthreads-CPPFLAGS = -DIS_IN_linuxthreads=1
+
 CFLAGS-pthread_atfork.c = -DNOT_IN_libc
 
 nodelete-yes = -Wl,--enable-new-dtags,-z,nodelete
 CFLAGS-pthread_atfork.c = -DNOT_IN_libc
 
 nodelete-yes = -Wl,--enable-new-dtags,-z,nodelete
index 7b4ff92..1c75bf9 100644 (file)
@@ -1,6 +1,6 @@
 /* Machine-dependent pthreads configuration and inline functions.
    i686 version.
 /* Machine-dependent pthreads configuration and inline functions.
    i686 version.
-   Copyright (C) 1996-2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson <rth@tamu.edu>.
 
    This file is part of the GNU C Library.
    Contributed by Richard Henderson <rth@tamu.edu>.
 
@@ -69,9 +69,7 @@ __compare_and_swap (long int *p, long int oldval, long int newval)
 }
 #endif
 
 }
 #endif
 
-/* If tls.h was included, it will include useldt.h after defining USE_TLS.
-   We don't want to include it here first when tls.h includes us.  */
-#if __ASSUME_LDT_WORKS > 0 && !defined _TLS_H
+#if __ASSUME_LDT_WORKS > 0
 #include "../useldt.h"
 #endif
 
 #include "../useldt.h"
 #endif
 
index b1805cb..5306d08 100644 (file)
@@ -113,7 +113,9 @@ typedef struct
 #   define TLS_LOAD_EBX
 #  endif
 
 #   define TLS_LOAD_EBX
 #  endif
 
-#  include "useldt.h"          /* For the structure.  */
+#  if !defined IS_IN_linuxthreads && !defined DO_MODIFY_LDT
+#   include "useldt.h"         /* For the structure.  */
+#  endif
 #  if __ASSUME_LDT_WORKS > 0
 #   define TLS_DO_MODIFY_LDT_KERNEL_CHECK(doit) (doit) /* Nothing to check.  */
 #  else
 #  if __ASSUME_LDT_WORKS > 0
 #   define TLS_DO_MODIFY_LDT_KERNEL_CHECK(doit) (doit) /* Nothing to check.  */
 #  else