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. */