linker work
 * remove now-unused D_SBIG (was for typestrings)
 * rename elf64.[ch] to elf.[ch]
 * pull in elf headers from FreeBSD instead of writing our own
 * emit non-header ELF data in data section
 * stub out a few more ELF sections needed for dynamic loading

R=r
DELTA=1928  (1237 added, 635 deleted, 56 changed)
OCL=33642
CL=33658
diff --git a/src/cmd/6l/obj.c b/src/cmd/6l/obj.c
index 1deee18..4c115b1 100644
--- a/src/cmd/6l/obj.c
+++ b/src/cmd/6l/obj.c
@@ -30,7 +30,7 @@
 
 #define	EXTERN
 #include	"l.h"
-#include	"../ld/elf64.h"
+#include	"../ld/elf.h"
 #include	<ar.h>
 
 char	*noname		= "<none>";
@@ -197,7 +197,8 @@
 			INITRND = 4096;
 		break;
 	case 7:	/* elf64 executable */
-		HEADR = ELF64RESERVE;
+		elfinit();
+		HEADR = ELFRESERVE;
 		if(INITTEXT == -1)
 			INITTEXT = (1<<22)+HEADR;
 		if(INITDAT == -1)
@@ -389,6 +390,7 @@
 
 	patch();
 	follow();
+	doelf();
 	dodata();
 	dobss();
 	dostkoff();
@@ -438,7 +440,6 @@
 void
 errorexit(void)
 {
-
 	if(nerrors) {
 		if(cout >= 0)
 			remove(outfile);