MACHINE_ARCH is still set to the host architecture at this point.
Tested by compiling (and later booting) an ARM kernel on a i386 host.
Index: Makefile.cross
===================================================================
RCS file: /srv/boron/data/vcs/cvs/openbsd/src/Makefile.cross,v
retrieving revision 1.33
diff -u -p -r1.33 Makefile.cross
--- Makefile.cross 25 Aug 2010 08:04:01 -0000 1.33
+++ Makefile.cross 9 Sep 2010 07:39:50 -0000
@@ -78,9 +78,9 @@ CROSSGCC= ${CROSSDIR}/.gcc_done
${TARGET_ARCH} == "sparc" || ${TARGET_ARCH} == "vax"
TARGET_USE_GCC3=No
COMPILER_VERSION=gcc2
-.elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "hppa" || \
- ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \
- ${MACHINE_ARCH} == "sparc64"
+.elif ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "hppa" || \
+ ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "powerpc" || \
+ ${TARGET_ARCH} == "sparc64"
TARGET_USE_GCC4=Yes
COMPILER_VERSION=gcc4
.else