I've had no problems under OpenBSD on an Ultra5 and Ultra60 since at least 9base-6. Only significant change required was using the base system's yacc.
Without patching 9yacc, compilation dies here: YACC awkgram.y Bus error *** Error code 138 Stop in /home/sl/src/9base/awk (line 14 of ../yacc.mk). *** Error code 1 Stop in /home/sl/src/9base/awk (line 8 of ../yacc.mk). *** Error code 1 Stop in /home/sl/src/9base (line 59 of Makefile). -sl diff -r a63b332dda6d config.mk --- a/config.mk Wed Jan 05 16:21:08 2011 +0000 +++ b/config.mk Wed Jan 05 22:36:38 2011 -0600 @@ -2,12 +2,13 @@ # paths PREFIX = /usr/local/plan9 -MANPREFIX = ${PREFIX}/share/man +MANPREFIX = ${PREFIX}/man VERSION = 7 -OBJTYPE = 386 +#OBJTYPE = 386 #OBJTYPE = arm #OBJTYPE = x86_64 +OBJTYPE = sun4u # Linux/BSD #CFLAGS += -Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -c -I. -DPREFIX="\"${PREFIX}\"" diff -r a63b332dda6d yacc/9yacc --- a/yacc/9yacc Wed Jan 05 16:21:08 2011 +0000 +++ b/yacc/9yacc Wed Jan 05 22:23:05 2011 -0600 @@ -1,4 +1,5 @@ #!/bin/sh PLAN9="`pwd`/.." export PLAN9 -../yacc/yacc $* +#../yacc/yacc $* +/usr/bin/yacc $*