aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2004-10-19 05:12:59 +0000
committerRoland McGrath <roland@gnu.org>2004-10-19 05:12:59 +0000
commitb1b7e93272cd4a73435a01252bfdf7fc26fe4fa3 (patch)
tree8a14d0fed6260878b03f60b92ae93294ae8176d9 /linuxthreads
parent5f21997b9d6a49ddbed85b044e2be7b182c095a2 (diff)
downloadglibc-b1b7e93272cd4a73435a01252bfdf7fc26fe4fa3.tar
glibc-b1b7e93272cd4a73435a01252bfdf7fc26fe4fa3.tar.gz
glibc-b1b7e93272cd4a73435a01252bfdf7fc26fe4fa3.tar.bz2
glibc-b1b7e93272cd4a73435a01252bfdf7fc26fe4fa3.zip
[BZ #406]
2004-10-18 Roland McGrath <roland@redhat.com> [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.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/Makefile2
-rw-r--r--linuxthreads/sysdeps/i386/i686/pt-machine.h6
-rw-r--r--linuxthreads/sysdeps/i386/tls.h4
3 files changed, 7 insertions, 5 deletions
diff --git a/linuxthreads/Makefile b/linuxthreads/Makefile
index a16ae8d2da..a6689bb4a0 100644
--- a/linuxthreads/Makefile
+++ b/linuxthreads/Makefile
@@ -65,6 +65,8 @@ libpthread-static-only-routines = 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
diff --git a/linuxthreads/sysdeps/i386/i686/pt-machine.h b/linuxthreads/sysdeps/i386/i686/pt-machine.h
index 7b4ff92383..1c75bf9807 100644
--- a/linuxthreads/sysdeps/i386/i686/pt-machine.h
+++ b/linuxthreads/sysdeps/i386/i686/pt-machine.h
@@ -1,6 +1,6 @@
/* 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>.
@@ -69,9 +69,7 @@ __compare_and_swap (long int *p, long int oldval, long int newval)
}
#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
diff --git a/linuxthreads/sysdeps/i386/tls.h b/linuxthreads/sysdeps/i386/tls.h
index b1805cb868..5306d082bb 100644
--- a/linuxthreads/sysdeps/i386/tls.h
+++ b/linuxthreads/sysdeps/i386/tls.h
@@ -113,7 +113,9 @@ typedef struct
# 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