[Gc]: libatomic_ops: time to alpha release?

Andreas Tobler andreast-list at fgznet.ch
Sun Oct 18 12:59:47 PDT 2009


Hi Ivan,

Ivan Maidanski wrote:

> Andreas Tobler <andreast-list at fgznet.ch> wrote:

>>> Andreas, could you re-sync and make check again (either for 32 or
>>> 64-bit target)? (I have been manipulating with "extern" a bit today.)
>> Everthing fine here, i386/i686/x86_64-apple-darwin9.8.0.
> 
> i386/i686 - I guess you mean the same thing (or did You really supply -march=i386? ;) ).

Well, the box I run this stuff on is a MacBook Pro, as already mentioned 
it has a core2duo which can do both, 32-bit and 64-bit stuff.

A plain bdwgc/configure gives me a i386-apple-darwin9* as the running arch.
But for the 64-bit tests I have to set CC to "gcc -m64" and pass the 
configure the host/target/build tripplet with x86_64-apple-darwin9*
The same I can do for i686, but w/o CC setting to "gcc -m64".

I did this but I added some flags you recently told me to do:

--enable-gc-assertions --enable-parallel-mark --enable-munmap=6

For the plain i386 config I did not pass these options.

In the first moment I thought it was the architecture which causes the 
warnings below, but it is the set of flags I pass to the configure script.

>> I have some compiler warnings with i686 and x86_64 which I have to 
>> investigate. But these were here for a longer time.
> 
> Would be nice if you copy them here.

Not needed ;)
The warning is simple, redefinition of USE_MMAP. One time in 
include/private/gcconfig.h and the other time via include/private/config.h

Attached a patch which silences these warnings on darwin, tested on 
i386/i686/x86_64-apple-darwin9*, I expect, that this is also necessary 
for ppc and iphone darwin. But not tested ;)

Thanks,
Andreas

-------------- next part --------------
Index: include/private/gcconfig.h
===================================================================
RCS file: /cvsroot/bdwgc/bdwgc/include/private/gcconfig.h,v
retrieving revision 1.56
diff -u -r1.56 gcconfig.h
--- include/private/gcconfig.h	15 Oct 2009 16:41:08 -0000	1.56
+++ include/private/gcconfig.h	18 Oct 2009 19:41:58 -0000
@@ -785,7 +785,9 @@
          These aren't used when dyld support is enabled (it is by default) */
 #     define DATASTART ((ptr_t) get_etext())
 #     define DATAEND    ((ptr_t) get_end())
-#     define USE_MMAP
+#     ifndef USE_MMAP
+#       define USE_MMAP
+#     endif
 #     define USE_MMAP_ANON
 #     ifdef GC_DARWIN_THREADS
 #       define MPROTECT_VDB
@@ -1299,7 +1301,9 @@
 #     define DATASTART ((ptr_t) get_etext())
 #     define DATAEND    ((ptr_t) get_end())
 #     define STACKBOTTOM ((ptr_t) 0xc0000000)
-#     define USE_MMAP
+#     ifndef USE_MMAP
+#       define USE_MMAP
+#     endif
 #     define USE_MMAP_ANON
 #     ifdef GC_DARWIN_THREADS
 #       define MPROTECT_VDB
@@ -1783,7 +1787,9 @@
 #     define DATAEND    ((ptr_t) get_end())
 /* #define STACKBOTTOM ((ptr_t) 0x30000000) */ /* FIXME: Is this needed? */
 #     define HEURISTIC1
-#     define USE_MMAP
+#     ifndef USE_MMAP
+#       define USE_MMAP
+#     endif
 #     define USE_MMAP_ANON
 #   endif
 #   ifdef NOSYS
@@ -1900,7 +1906,9 @@
 #     define DATASTART ((ptr_t) get_etext())
 #     define DATAEND    ((ptr_t) get_end())
 #     define STACKBOTTOM ((ptr_t) 0x7fff5fc00000)
-#     define USE_MMAP
+#     ifndef USE_MMAP
+#       define USE_MMAP
+#     endif
 #     define USE_MMAP_ANON
 #     ifdef GC_DARWIN_THREADS
 #       define MPROTECT_VDB


More information about the Gc mailing list