[Glibc-bsd-commits] r1566 - trunk/web/patches

Petr Salinger ps-guest at costa.debian.org
Thu May 11 19:29:42 UTC 2006


Author: ps-guest
Date: 2006-05-11 19:29:41 +0000 (Thu, 11 May 2006)
New Revision: 1566

Added:
   trunk/web/patches/libgc_6.7.diff
Log:
* add libgc_6.7.diff
  applies almost cleanly also against gc 6.6 and boehm-gc in gcc-4.1
  test of building gcj-4.1 currently in progress ...



Added: trunk/web/patches/libgc_6.7.diff
===================================================================
--- trunk/web/patches/libgc_6.7.diff	2006-05-09 09:21:11 UTC (rev 1565)
+++ trunk/web/patches/libgc_6.7.diff	2006-05-11 19:29:41 UTC (rev 1566)
@@ -0,0 +1,146 @@
+
+Status: in BTS #366864, rerun of autoconf is needed
+
+Note: applies almost cleanly also against gc 6.6 and boehm-gc in gcc-4.1
+
+
+diff -ur gc6.7/configure.in gc6.7/configure.in
+--- gc6.7/configure.in	2006-02-17 05:07:50.000000000 +0100
++++ gc6.7/configure.in	2006-05-11 18:58:59.000000000 +0200
+@@ -110,6 +110,17 @@
+ 	INCLUDES="$INCLUDES -pthread"
+ 	THREADDLLIBS=-pthread
+       	;;
++     *-*-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)
++      	;;
+      *-*-netbsd*)
+ 	AC_MSG_WARN("Only on NetBSD 2.0 or later.")
+ 	AC_DEFINE(GC_NETBSD_THREADS)
+diff -ur gc6.7/dyn_load.c gc6.7/dyn_load.c
+--- gc6.7/dyn_load.c	2006-02-16 22:13:55.000000000 +0100
++++ gc6.7/dyn_load.c	2006-05-11 18:29:02.000000000 +0200
+@@ -26,7 +26,7 @@
+  * None of this is safe with dlclose and incremental collection.
+  * 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 */
+ #   define _GNU_SOURCE
+ #endif
+@@ -381,7 +381,7 @@
+ /* For glibc 2.2.4+.  Unfortunately, it doesn't work for older	*/
+ /* 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_MINOR__ == 2 && defined(DT_CONFIG))) 
+ 
+diff -ur gc6.7/include/gc.h gc6.7/include/gc.h
+--- gc6.7/include/gc.h	2006-02-18 02:03:40.000000000 +0100
++++ gc6.7/include/gc.h	2006-05-11 18:29:02.000000000 +0200
+@@ -469,7 +469,7 @@
+ #   define GC_RETURN_ADDR (GC_word)__return_address
+ #endif
+ 
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ # include <features.h>
+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
+      && !defined(__ia64__)
+diff -ur gc6.7/include/private/gcconfig.h gc6.7/include/private/gcconfig.h
+--- gc6.7/include/private/gcconfig.h	2006-02-17 05:34:18.000000000 +0100
++++ gc6.7/include/private/gcconfig.h	2006-05-11 18:37:53.000000000 +0200
+@@ -55,7 +55,7 @@
+ # endif
+ 
+ /* And one for FreeBSD: */
+-# if defined(__FreeBSD__) && !defined(FREEBSD)
++# if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && !defined(FREEBSD)
+ #    define FREEBSD
+ # endif
+ 
+@@ -1249,8 +1249,15 @@
+ #	ifndef GC_FREEBSD_THREADS
+ #	    define MPROTECT_VDB
+ #	endif
+-#	define SIG_SUSPEND SIGUSR1
+-#	define SIG_THR_RESTART SIGUSR2
++#	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
+@@ -1993,6 +2000,28 @@
+ #	    define PREFETCH_FOR_WRITE(x) __builtin_prefetch((x), 1)
+ #	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
+ #	define OS_TYPE "NETBSD"
+ #	ifdef __ELF__
+@@ -2064,7 +2093,7 @@
+ #   define SUNOS5SIGS
+ # endif
+ 
+-# if defined(FREEBSD) && (__FreeBSD__ >= 4)
++# if defined(FREEBSD) && ((__FreeBSD__ >= 4) || (__FreeBSD_kernel__ >= 4))
+ #   define SUNOS5SIGS
+ # endif
+ 
+@@ -2132,7 +2161,7 @@
+ #   define CACHE_LINE_SIZE 32	/* Wild guess	*/
+ # endif
+ 
+-# ifdef LINUX
++# if defined(LINUX) || 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	*/
+@@ -2216,7 +2245,7 @@
+ #if defined(SPARC)
+ # define CAN_SAVE_CALL_ARGS
+ #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	*/
+ 	    /* frame pointers by default, i.e. no -fomit-frame-pointer flag.	*/
+ # define CAN_SAVE_CALL_ARGS




More information about the Glibc-bsd-commits mailing list