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);