diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7dde4e20a57fec3f4a8c1a365cb6dfb080200231..b8e70ccbe97e173e8cbca6c7c6194406bdcbc4af 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -36,7 +36,12 @@ linux:build:
     - job: linux:install
       artifacts: true
   script:
-    - bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp
+    # Do cross compile first
+    - bin/create-target.sh xtarget x86_linux_clang
+    - bin/create-target.sh xcross x86_linux_clang
+    - bin/cross-build-world.sh -crl -B boot-2020-04-1 xtarget xcross src/tools/cross-scripts/cross-x86-x86.lisp snapshot/bin/lisp
+    # Regular build using the cross-compiled result
+    - bin/build.sh $bootstrap -R -C "" -o xtarget/lisp/lisp
     - bin/make-dist.sh -I dist linux-4
 
 linux:test:
@@ -102,7 +107,12 @@ osx:build:
     - job: osx:install
       artifacts: true
   script:
-    - bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp
+    # Do cross compile first
+    - bin/create-target.sh xtarget x86_darwin
+    - bin/create-target.sh xcross x86_darwin
+    - bin/cross-build-world.sh -crl -B boot-2020-04-1 xtarget xcross src/tools/cross-scripts/cross-x86-x86.lisp snapshot/bin/lisp
+    # Regular build using the cross-compiled result
+    - bin/build.sh $bootstrap -R -C "" -o xtarget/lisp/lisp
     - bin/make-dist.sh -I dist darwin-4
 
 osx:test:
diff --git a/src/compiler/sparc/parms.lisp b/src/compiler/sparc/parms.lisp
index ec151f4197a8741d7634a44fa09b76c38d116a4b..2753a8238fcdf82fc4315002b4615ddffe96ecd5 100644
--- a/src/compiler/sparc/parms.lisp
+++ b/src/compiler/sparc/parms.lisp
@@ -341,6 +341,9 @@
     ;; address.
     #+gencgc
     *current-region-end-addr*
+
+    ;; TODO(issue #89).  This needs to be removed.  It's harmless to
+    ;; have this, but it should be removed.
     #+gencgc
     *scavenge-read-only-space*
 
diff --git a/src/compiler/x86/parms.lisp b/src/compiler/x86/parms.lisp
index f3ff12d0cbd0962e6c127355a862188a2ad3129e..e8837a6df72e10ae299d52b65ede83e3e0b78342 100644
--- a/src/compiler/x86/parms.lisp
+++ b/src/compiler/x86/parms.lisp
@@ -363,9 +363,6 @@
       *fp-constant-lg2*
       *fp-constant-ln2*
 
-      ;; Used by gencgc.
-      *scavenge-read-only-space*
-
       ;; Multi-process support.
       *control-stacks*
 
diff --git a/src/lisp/gencgc.c b/src/lisp/gencgc.c
index e2b9cd0f0d23e8cb52ea20e568e714c84e840c70..a58b7c236f0b551e95cf5bc30e5fbe30dd428883 100644
--- a/src/lisp/gencgc.c
+++ b/src/lisp/gencgc.c
@@ -7865,6 +7865,7 @@ garbage_collect_generation(int generation, int raise)
     printf("Done scavenging the scavenger hooks.\n");
 #endif
 
+#if 0
     if (SymbolValue(SCAVENGE_READ_ONLY_SPACE) != NIL) {
 	read_only_space_size =
 	    (lispobj *) SymbolValue(READ_ONLY_SPACE_FREE_POINTER) -
@@ -7873,6 +7874,7 @@ garbage_collect_generation(int generation, int raise)
 		read_only_space_size * sizeof(lispobj));
 	scavenge(read_only_space, read_only_space_size);
     }
+#endif
 
     static_space_size = (lispobj *) SymbolValue(STATIC_SPACE_FREE_POINTER)
 	- static_space;