1#include <stdio.h>2#include <stdlib.h>34#include <scc/mach.h>56#include "ld.h"78void9pass4(int argc, char *argv[])10{11 Objlst *lp;12 Objsec *sp;13 Section *sec;14 unsigned long i;15 FILE *fp;1617 for (lp = objhead; lp; lp = lp->next) {18 /* TODO: fp = lp->obj->fp; */19 for (sp = lp->obj->secs; sp; sp = sp->next) {20 /* TODO:21 * if (!objpos(lp->obj, lp->obj->fp, sp->seek))22 * error("seeking for section content");23 */24 sec = section(sp->name);25 if (!sec->fp) {26 sec->fp = tmpfile();27 if (!sec->fp) {28 error("out of memory");29 exit(EXIT_FAILURE);30 }31 }3233 /* TODO: add symbol alignment */3435 for (i = 0; i < sp->size; i++)36 putc(getc(fp), sec->fp);3738 /* TODO: Apply relocations */39 }40 }41}