scc

A fork of https://git.simple-cc.org/scc/ for Qute

git clone https://git.8pit.net/scc.git

 1#include <stdio.h>
 2
 3#include <scc/mach.h>
 4#include <scc/coff32.h>
 5
 6#include "../libmach.h"
 7#include "fun.h"
 8
 9Map *
10coff32loadmap(Obj *obj, FILE *fp)
11{
12	int i, nsec;
13	Section sec;
14	Map *map;
15	FILE *src;
16	SCNHDR *scn;
17	struct coff32 *coff = obj->data;
18	FILHDR *hdr = &coff->hdr;
19
20	nsec = hdr->f_nscns;
21	if ((map = newmap(nsec, 0)) == NULL)
22		return NULL;
23
24	for (i = 0; getsec(obj, &i, &sec); ++i) {
25		sec.offset += obj->pos;
26		src = ((sec.flags & SALLOC) != 0) ? fp : NULL;
27
28		if (mapsec(map, &sec, src, sec.size) < 0)
29			return NULL;
30	}
31
32	return map;
33}