5l, 6l, 8l: separate pass to fix addresses
Lay out code before data.

R=ken2
CC=golang-dev
https://golang.org/cl/2490043
diff --git a/src/cmd/6l/obj.c b/src/cmd/6l/obj.c
index 97b79d5..a16fdc1 100644
--- a/src/cmd/6l/obj.c
+++ b/src/cmd/6l/obj.c
@@ -237,7 +237,6 @@
 	doelf();
 	if(HEADTYPE == 6)
 		domacho();
-	dodata();
 	dostkoff();
 	paramspace = "SP";	/* (FP) now (SP) on output */
 	if(debug['p'])
@@ -246,6 +245,8 @@
 		else
 			doprof2();
 	span();
+	dodata();
+	address();
 	reloc();
 	asmb();
 	undef();