mirror of git://gcc.gnu.org/git/gcc.git
configure.ac: add support for GNU/kFreeBSD, accepted by upstream for gc 6.8.
2006-06-07 Petr Salinger <Petr.Salinger@seznam.cz> * configure.ac: add support for GNU/kFreeBSD, accepted by upstream for gc 6.8. * dyn_load.c: Likewise. * include/gc.h: Likewise. * private/gcconfig.h: Likewise. * configure: Regenerate. * include/gc_config.h.in: Regenerate. From-SVN: r117033
This commit is contained in:
parent
94ba45dfe2
commit
eb496303d7
|
@ -1,3 +1,13 @@
|
||||||
|
2006-06-07 Petr Salinger <Petr.Salinger@seznam.cz>
|
||||||
|
|
||||||
|
* configure.ac: add support for GNU/kFreeBSD, accepted by upstream
|
||||||
|
for gc 6.8.
|
||||||
|
* dyn_load.c: Likewise.
|
||||||
|
* include/gc.h: Likewise.
|
||||||
|
* private/gcconfig.h: Likewise.
|
||||||
|
* configure: Regenerate.
|
||||||
|
* include/gc_config.h.in: Regenerate.
|
||||||
|
|
||||||
2006-09-14 Tom Tromey <tromey@redhat.com>
|
2006-09-14 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
PR boehm-gc/29068.
|
PR boehm-gc/29068.
|
||||||
|
|
|
@ -5444,6 +5444,32 @@ _ACEOF
|
||||||
{ echo "$as_me:$LINENO: WARNING: \"Only HP-UX 11 POSIX threads are supported.\"" >&5
|
{ echo "$as_me:$LINENO: WARNING: \"Only HP-UX 11 POSIX threads are supported.\"" >&5
|
||||||
echo "$as_me: WARNING: \"Only HP-UX 11 POSIX threads are supported.\"" >&2;}
|
echo "$as_me: WARNING: \"Only HP-UX 11 POSIX threads are supported.\"" >&2;}
|
||||||
;;
|
;;
|
||||||
|
*-*-kfreebsd*-gnu)
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define GC_FREEBSD_THREADS 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
INCLUDES="$INCLUDES -pthread"
|
||||||
|
THREADDLLIBS=-pthread
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define _REENTRANT 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
if test "${enable_parallel_mark}" = yes; then
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define PARALLEL_MARK 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define THREAD_LOCAL_ALLOC 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define USE_COMPILER_TLS 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
;;
|
||||||
*-*-freebsd*)
|
*-*-freebsd*)
|
||||||
{ echo "$as_me:$LINENO: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&5
|
{ echo "$as_me:$LINENO: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&5
|
||||||
echo "$as_me: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&2;}
|
echo "$as_me: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&2;}
|
||||||
|
|
|
@ -155,6 +155,17 @@ case "$THREADS" in
|
||||||
*-*-hpux10*)
|
*-*-hpux10*)
|
||||||
AC_MSG_WARN("Only HP-UX 11 POSIX threads are supported.")
|
AC_MSG_WARN("Only HP-UX 11 POSIX threads are supported.")
|
||||||
;;
|
;;
|
||||||
|
*-*-kfreebsd*-gnu)
|
||||||
|
AC_DEFINE(GC_FREEBSD_THREADS)
|
||||||
|
INCLUDES="$INCLUDES -pthread"
|
||||||
|
THREADDLLIBS=-pthread
|
||||||
|
AC_DEFINE(_REENTRANT)
|
||||||
|
if test "${enable_parallel_mark}" = yes; then
|
||||||
|
AC_DEFINE(PARALLEL_MARK)
|
||||||
|
fi
|
||||||
|
AC_DEFINE(THREAD_LOCAL_ALLOC)
|
||||||
|
AC_DEFINE(USE_COMPILER_TLS, 1,[use tls for boehm])
|
||||||
|
;;
|
||||||
*-*-freebsd*)
|
*-*-freebsd*)
|
||||||
AC_MSG_WARN("FreeBSD does not yet fully support threads with Boehm GC.")
|
AC_MSG_WARN("FreeBSD does not yet fully support threads with Boehm GC.")
|
||||||
AC_DEFINE(GC_FREEBSD_THREADS,1,[support FreeBSD threads])
|
AC_DEFINE(GC_FREEBSD_THREADS,1,[support FreeBSD threads])
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
* None of this is safe with dlclose and incremental collection.
|
* None of this is safe with dlclose and incremental collection.
|
||||||
* But then not much of anything is safe in the presence of dlclose.
|
* But then not much of anything is safe in the presence of dlclose.
|
||||||
*/
|
*/
|
||||||
#if defined(__linux__) && !defined(_GNU_SOURCE)
|
#if (defined(__linux__) || defined(__GLIBC__)) && !defined(_GNU_SOURCE)
|
||||||
/* Can't test LINUX, since this must be define before other includes */
|
/* Can't test LINUX, since this must be define before other includes */
|
||||||
# define _GNU_SOURCE
|
# define _GNU_SOURCE
|
||||||
#endif
|
#endif
|
||||||
|
@ -392,7 +392,7 @@ GC_bool GC_register_main_static_data()
|
||||||
/* For glibc 2.2.4+. Unfortunately, it doesn't work for older */
|
/* For glibc 2.2.4+. Unfortunately, it doesn't work for older */
|
||||||
/* versions. Thanks to Jakub Jelinek for most of the code. */
|
/* versions. Thanks to Jakub Jelinek for most of the code. */
|
||||||
|
|
||||||
# if defined(LINUX) /* Are others OK here, too? */ \
|
# if (defined(LINUX) || defined (__GLIBC__)) /* Are others OK here, too? */ \
|
||||||
&& (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
|
&& (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
|
||||||
|| (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
|
|| (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
|
||||||
|
|
||||||
|
|
|
@ -499,7 +499,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_off_page GC_PROTO((size_t lb));
|
||||||
# define GC_RETURN_ADDR (GC_word)__return_address
|
# define GC_RETURN_ADDR (GC_word)__return_address
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__GLIBC__)
|
||||||
# include <features.h>
|
# include <features.h>
|
||||||
# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
|
# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
|
||||||
&& !defined(__ia64__)
|
&& !defined(__ia64__)
|
||||||
|
|
|
@ -166,6 +166,9 @@
|
||||||
/* define GC_local_malloc() & GC_local_malloc_atomic() */
|
/* define GC_local_malloc() & GC_local_malloc_atomic() */
|
||||||
#undef THREAD_LOCAL_ALLOC
|
#undef THREAD_LOCAL_ALLOC
|
||||||
|
|
||||||
|
/* use tls for boehm */
|
||||||
|
#undef USE_COMPILER_TLS
|
||||||
|
|
||||||
/* use MMAP instead of sbrk to get new memory */
|
/* use MMAP instead of sbrk to get new memory */
|
||||||
#undef USE_MMAP
|
#undef USE_MMAP
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* And one for FreeBSD: */
|
/* And one for FreeBSD: */
|
||||||
# if defined(__FreeBSD__) && !defined(FREEBSD)
|
# if ( defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ) && !defined(FREEBSD)
|
||||||
# define FREEBSD
|
# define FREEBSD
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
@ -1241,8 +1241,15 @@
|
||||||
# ifndef GC_FREEBSD_THREADS
|
# ifndef GC_FREEBSD_THREADS
|
||||||
# define MPROTECT_VDB
|
# define MPROTECT_VDB
|
||||||
# endif
|
# endif
|
||||||
# define SIG_SUSPEND SIGUSR1
|
# ifdef __GLIBC__
|
||||||
# define SIG_THR_RESTART SIGUSR2
|
# define SIG_SUSPEND (32+6)
|
||||||
|
# define SIG_THR_RESTART (32+5)
|
||||||
|
extern int _end[];
|
||||||
|
# define DATAEND (_end)
|
||||||
|
# else
|
||||||
|
# define SIG_SUSPEND SIGUSR1
|
||||||
|
# define SIG_THR_RESTART SIGUSR2
|
||||||
|
# endif
|
||||||
# define FREEBSD_STACKBOTTOM
|
# define FREEBSD_STACKBOTTOM
|
||||||
# ifdef __ELF__
|
# ifdef __ELF__
|
||||||
# define DYNAMIC_LOADING
|
# define DYNAMIC_LOADING
|
||||||
|
@ -1952,6 +1959,28 @@
|
||||||
# define PREFETCH_FOR_WRITE(x) __builtin_prefetch((x), 1)
|
# define PREFETCH_FOR_WRITE(x) __builtin_prefetch((x), 1)
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
|
# ifdef FREEBSD
|
||||||
|
# define OS_TYPE "FREEBSD"
|
||||||
|
# ifndef GC_FREEBSD_THREADS
|
||||||
|
# define MPROTECT_VDB
|
||||||
|
# endif
|
||||||
|
# ifdef __GLIBC__
|
||||||
|
# define SIG_SUSPEND (32+6)
|
||||||
|
# define SIG_THR_RESTART (32+5)
|
||||||
|
extern int _end[];
|
||||||
|
# define DATAEND (_end)
|
||||||
|
# else
|
||||||
|
# define SIG_SUSPEND SIGUSR1
|
||||||
|
# define SIG_THR_RESTART SIGUSR2
|
||||||
|
# endif
|
||||||
|
# define FREEBSD_STACKBOTTOM
|
||||||
|
# ifdef __ELF__
|
||||||
|
# define DYNAMIC_LOADING
|
||||||
|
# endif
|
||||||
|
extern char etext[];
|
||||||
|
extern char * GC_FreeBSDGetDataStart();
|
||||||
|
# define DATASTART GC_FreeBSDGetDataStart(0x1000, &etext)
|
||||||
|
# endif
|
||||||
# ifdef NETBSD
|
# ifdef NETBSD
|
||||||
# define OS_TYPE "NETBSD"
|
# define OS_TYPE "NETBSD"
|
||||||
# ifdef __ELF__
|
# ifdef __ELF__
|
||||||
|
@ -2023,7 +2052,7 @@
|
||||||
# define SUNOS5SIGS
|
# define SUNOS5SIGS
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if defined(FREEBSD) && (__FreeBSD__ >= 4)
|
# if defined(FREEBSD) && ((__FreeBSD__ >= 4) || (__FreeBSD_kernel__ >= 4))
|
||||||
# define SUNOS5SIGS
|
# define SUNOS5SIGS
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
@ -2086,7 +2115,7 @@
|
||||||
# define CACHE_LINE_SIZE 32 /* Wild guess */
|
# define CACHE_LINE_SIZE 32 /* Wild guess */
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef LINUX
|
# if defined(LINUX) || defined(__GLIBC__)
|
||||||
# define REGISTER_LIBRARIES_EARLY
|
# define REGISTER_LIBRARIES_EARLY
|
||||||
/* We sometimes use dl_iterate_phdr, which may acquire an internal */
|
/* We sometimes use dl_iterate_phdr, which may acquire an internal */
|
||||||
/* lock. This isn't safe after the world has stopped. So we must */
|
/* lock. This isn't safe after the world has stopped. So we must */
|
||||||
|
@ -2167,7 +2196,7 @@
|
||||||
#if defined(SPARC)
|
#if defined(SPARC)
|
||||||
# define CAN_SAVE_CALL_ARGS
|
# define CAN_SAVE_CALL_ARGS
|
||||||
#endif
|
#endif
|
||||||
#if (defined(I386) || defined(X86_64)) && defined(LINUX)
|
#if (defined(I386) || defined(X86_64)) && (defined(LINUX) || defined(__GLIBC__))
|
||||||
/* SAVE_CALL_CHAIN is supported if the code is compiled to save */
|
/* SAVE_CALL_CHAIN is supported if the code is compiled to save */
|
||||||
/* frame pointers by default, i.e. no -fomit-frame-pointer flag. */
|
/* frame pointers by default, i.e. no -fomit-frame-pointer flag. */
|
||||||
# define CAN_SAVE_CALL_ARGS
|
# define CAN_SAVE_CALL_ARGS
|
||||||
|
|
Loading…
Reference in New Issue