more 386 runtime fixes.
can pass many tests;
current stumbling block is an 8l bug.

R=r
DELTA=122  (83 added, 8 deleted, 31 changed)
OCL=29872
CL=29876
diff --git a/test/env.go b/test/env.go
index 88cec45..db76ee4 100644
--- a/test/env.go
+++ b/test/env.go
@@ -14,7 +14,7 @@
 		print("$GOARCH: ", e0.String(), "\n");
 		os.Exit(1);
 	}
-	if ga != "amd64" {
+	if ga != "amd64" && ga != "386" && ga != "arm" {
 		print("$GOARCH=", ga, "\n");
 		os.Exit(1);
 	}