Add :CHENEYGC feature to non-GENCGC targets.
authorAlastair Bridgewater <nyef@kana.lisphacker.com>
Tue, 6 Dec 2011 16:05:53 +0000 (11:05 -0500)
committerAlastair Bridgewater <nyef@kana.lisphacker.com>
Tue, 6 Dec 2011 16:05:53 +0000 (11:05 -0500)
  * When I wrote 14fd5afbac525e7a2e86903070afa0e94dfa14f7 I was
under the impression that there was a :CHENEYGC feature used on
plaforms that used the cheney collector.  This was logical, but
incorrect.

  * The two ways forward were to back out the use of :CHENEYGC
as a feature when checking compatibility or to move forward and
add :CHENEYGC and use it in preference to (NOT :GENCGC) where
appropriate, opening the door to a third GC option.

  * This is the minimal fix, adding :cheneygc to the non-gencgc
targets in make-config.sh.

make-config.sh

index 62f08b4..52bba33 100644 (file)
@@ -567,7 +567,7 @@ elif [ "$sbcl_arch" = "x86-64" ]; then
     printf ' :float-eql-vops :inline-constants :memory-barrier-vops' >> $ltf
     printf ' :multiply-high-vops' >> $ltf
 elif [ "$sbcl_arch" = "mips" ]; then
-    printf ' :linkage-table' >> $ltf
+    printf ' :cheneygc :linkage-table' >> $ltf
     printf ' :stack-allocatable-closures :stack-allocatable-vectors' >> $ltf
     printf ' :stack-allocatable-lists :stack-allocatable-fixed-objects' >> $ltf
     printf ' :alien-callbacks' >> $ltf
@@ -606,13 +606,16 @@ elif [ "$sbcl_arch" = "sparc" ]; then
     # FUNCDEF macro for assembler. No harm in running this on sparc-linux
     # as well.
     sh tools-for-build/sparc-funcdef.sh > src/runtime/sparc-funcdef.h
+    printf ' :cheneygc' >> $ltf
     if [ "$sbcl_os" = "sunos" ] || [ "$sbcl_os" = "linux" ]; then
         printf ' :linkage-table' >> $ltf
     fi
     printf ' :stack-allocatable-closures :stack-allocatable-lists' >> $ltf
 elif [ "$sbcl_arch" = "alpha" ]; then
+    printf ' :cheneygc' >> $ltf
     printf ' :stack-allocatable-closures :stack-allocatable-lists' >> $ltf
 elif [ "$sbcl_arch" = "hppa" ]; then
+    printf ' :cheneygc' >> $ltf
     printf ' :stack-allocatable-vectors :stack-allocatable-fixed-objects' >> $ltf
     printf ' :stack-allocatable-lists' >> $ltf
 else