This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Patch: Boehm GC 6.6 merge
- From: Andrew Haley <aph at redhat dot com>
- To: Ranjit Mathew <rmathew at gmail dot com>
- Cc: Bryce McKinlay <mckinlay at redhat dot com>, "Boehm, Hans" <hans dot boehm at hp dot com>, GCJ Patches <java-patches at gcc dot gnu dot org>, GCC <gcc at gcc dot gnu dot org>
- Date: Wed, 25 Jan 2006 11:17:43 +0000
- Subject: Re: Patch: Boehm GC 6.6 merge
- References: <43D6E97C.5060203@redhat.com> <43D71484.5020207@gmail.com>
Ranjit Mathew writes:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Bryce McKinlay wrote:
> > This patch merges the GC 6.6 sources into the libgcj trunk. Two patches
> [...]
>
> This little bit in "boehm-gc/include/private/gcconfig.h" (line 306):
> - ------------------------- 8< -------------------------
> > +# else
> > +# if defined(__i386__)
> > +# define I386
> > --> Not really supported, but at least we recognize it.
> > +# endif
> - ------------------------- 8< -------------------------
> causes a bootstrap failure for me on i686-pc-linux-gnu.
> Note that the "Not really" bit is not inside a comment.
The differences between our gcconfig.h and the stock Boehm 6.6 version
are hard for me to understand. Bryce, what are the reasons for them?
I understand why we want to define USE_MMAP for Linux, but the rest
look spurious.
Andrew.
--- /home/aph/gcconfig.h 2006-01-25 10:28:06.000000000 +0000
+++ include/private/gcconfig.h 2006-01-25 10:07:56.000000000 +0000
@@ -131,9 +131,6 @@
# endif
# endif
# endif /* !LINUX */
-# if defined(__NetBSD__) && defined(__MIPSEL__)
-# undef ULTRIX
-# endif
# define mach_type_known
# endif
# if defined(DGUX) && (defined(i386) || defined(__i386__))
@@ -297,15 +294,17 @@
# define MACOS
# define mach_type_known
# endif
-# if defined(macosx) || (defined(__APPLE__) && defined(__MACH__))
-# define DARWIN
-# if defined(__ppc__) || defined(__ppc64__)
+# if defined(macosx) \
+ || defined(__APPLE__) && defined(__MACH__) && defined(__ppc__) \
+ || defined(__APPLE__) && defined(__MACH__) && defined(__ppc64__)
+# define DARWIN
# define POWERPC
# define mach_type_known
-# elif defined(__i386__)
-# define I386
+# else
+# if defined(__i386__)
+# define I386
--> Not really supported, but at least we recognize it.
-# endif
+# endif
# endif
# if defined(NeXT) && defined(mc68000)
# define M68K
@@ -667,7 +666,8 @@
# define OS_TYPE "LINUX"
# define STACKBOTTOM ((ptr_t)0xf0000000)
# define USE_GENERIC_PUSH_REGS
- /* We never got around to the assembly version. */
+# define USE_MMAP
+ /* We never got around to the assembly version. */
/* # define MPROTECT_VDB - Reported to not work 9/17/01 */
# ifdef __ELF__
# define DYNAMIC_LOADING
@@ -1406,8 +1406,8 @@
# define DATAEND /* not needed */
# endif
# if defined(NETBSD)
-# define ALIGNMENT 4
# define OS_TYPE "NETBSD"
+# define ALIGNMENT 4
# define HEURISTIC2
# define USE_GENERIC_PUSH_REGS
# ifdef __ELF__
@@ -1587,7 +1587,7 @@
/* the text segment immediately follows the stack. */
/* Hence we give an upper pound. */
/* This is currently unused, since we disabled HEURISTIC2 */
- extern int __start[];
+ extern int __start[];
# define HEURISTIC2_LIMIT ((ptr_t)((word)(__start) & ~(getpagesize()-1)))
# ifndef GC_OSF1_THREADS
/* Unresolved signal issues with threads. */