aboutsummaryrefslogtreecommitdiff
path: root/boehm-gc/include
diff options
context:
space:
mode:
authortschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-04 22:56:02 +0000
committertschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-04 22:56:02 +0000
commitf2c3d2e4129a7041ea7b833e0b2b6bdc8e61aedd (patch)
treef1e97c1b518d09ef7ac7436e0186e1b8c5cc7fa8 /boehm-gc/include
parent139a6a2bc56c6440525159692314518419a71f29 (diff)
boehm-gc/
* configure.ac: Add stanza for *-*-gnu* threads configuration. * configure: Regenerate. * include/gc_config.h.in: Likewise. * dyn_load.c (_GNU_SOURCE): Define for __GNU__. * include/gc_config_macros.h (_REENTRANT, GC_PTHREADS): Define for GC_GNU_THREADS. * include/private/gcconfig.h (DATASTART): Don't define for I386 && HURD. (SIG_SUSPEND, SIG_THR_RESTART, SEARCH_FOR_DATA_START): Define for I386 && HURD. (UNIX_LIKE, REGISTER_LIBRARIES_EARLY): Define for HURD. * os_dep.c (GC_init_linux_data_start): Handle for HURD. * pthread_support.c (GC_thr_init): Add case for GC_GNU_THREADS. * specific.c: Use for GC_GNU_THREADS. * threadlibs.c: Add case for GC_GNU_THREADS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193142 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc/include')
-rw-r--r--boehm-gc/include/gc_config.h.in3
-rw-r--r--boehm-gc/include/gc_config_macros.h4
-rw-r--r--boehm-gc/include/private/gcconfig.h13
3 files changed, 15 insertions, 5 deletions
diff --git a/boehm-gc/include/gc_config.h.in b/boehm-gc/include/gc_config.h.in
index 6bdd807bcfa..d1ae47d88f4 100644
--- a/boehm-gc/include/gc_config.h.in
+++ b/boehm-gc/include/gc_config.h.in
@@ -33,6 +33,9 @@
/* include support for gcj */
#undef GC_GCJ_SUPPORT
+/* support GNU threads */
+#undef GC_GNU_THREADS
+
/* enables support for HP/UX 11 pthreads */
#undef GC_HPUX_THREADS
diff --git a/boehm-gc/include/gc_config_macros.h b/boehm-gc/include/gc_config_macros.h
index 12e91e27f5e..fd3006c1789 100644
--- a/boehm-gc/include/gc_config_macros.h
+++ b/boehm-gc/include/gc_config_macros.h
@@ -6,7 +6,8 @@
|| defined(GC_SOLARIS_PTHREADS) \
|| defined(GC_HPUX_THREADS) \
|| defined(GC_AIX_THREADS) \
- || defined(GC_LINUX_THREADS))
+ || defined(GC_LINUX_THREADS) \
+ || defined(GC_GNU_THREADS))
# define _REENTRANT
/* Better late than never. This fails if system headers that */
/* depend on this were previously included. */
@@ -18,6 +19,7 @@
# if defined(GC_SOLARIS_PTHREADS) || defined(GC_FREEBSD_THREADS) || \
defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
+ defined(GC_GNU_THREADS) || \
defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
defined(GC_AIX_THREADS) || \
diff --git a/boehm-gc/include/private/gcconfig.h b/boehm-gc/include/private/gcconfig.h
index 0263c13fd88..594ce431e02 100644
--- a/boehm-gc/include/private/gcconfig.h
+++ b/boehm-gc/include/private/gcconfig.h
@@ -1316,8 +1316,9 @@
# define OS_TYPE "HURD"
# define STACK_GROWS_DOWN
# define HEURISTIC2
- extern int __data_start[];
-# define DATASTART ( (ptr_t) (__data_start))
+# define SIG_SUSPEND SIGUSR1
+# define SIG_THR_RESTART SIGUSR2
+# define SEARCH_FOR_DATA_START
extern int _end[];
# define DATAEND ( (ptr_t) (_end))
/* # define MPROTECT_VDB Not quite working yet? */
@@ -2169,7 +2170,8 @@
# if defined(SVR4) || defined(LINUX) || defined(IRIX5) || defined(HPUX) \
|| defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) \
|| defined(DGUX) || defined(BSD) || defined(SUNOS4) \
- || defined(_AIX) || defined(DARWIN) || defined(OSF1)
+ || defined(_AIX) || defined(DARWIN) || defined(OSF1) \
+ || defined(HURD)
# define UNIX_LIKE /* Basic Unix-like system calls work. */
# endif
@@ -2225,7 +2227,7 @@
# define CACHE_LINE_SIZE 32 /* Wild guess */
# endif
-# if defined(LINUX) || defined(__GLIBC__)
+# if defined(LINUX) || defined(HURD) || defined(__GLIBC__)
# define REGISTER_LIBRARIES_EARLY
/* We sometimes use dl_iterate_phdr, which may acquire an internal */
/* lock. This isn't safe after the world has stopped. So we must */
@@ -2260,6 +2262,9 @@
# if defined(GC_AIX_THREADS) && !defined(_AIX)
--> inconsistent configuration
# endif
+# if defined(GC_GNU_THREADS) && !defined(HURD)
+ --> inconsistent configuration
+# endif
# if defined(GC_WIN32_THREADS) && !defined(MSWIN32) && !defined(CYGWIN32)
--> inconsistent configuration
# endif