Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
struct coffsect
2
{
3
	char	name[8];
4
	ulong	phys;
5
	ulong	virt;
6
	ulong	size;
7
	ulong	fptr;
8
	ulong	fptrreloc;
9
	ulong	fptrlineno;
10
	ulong	nrelocnlineno;
11
	ulong	flags;
12
};
13
 
14
/*
15
 * proprietary exec headers, needed to bootstrap various machines
16
 */
17
struct mipsexec
18
{
19
	short	mmagic;		/* (0x160) mips magic number */
20
	short	nscns;		/* (unused) number of sections */
21
	long	timdat;		/* (unused) time & date stamp */
22
	long	symptr;		/* offset to symbol table */
23
	long	nsyms;		/* size of symbol table */
24
	short	opthdr;		/* (0x38) sizeof(optional hdr) */
25
	short	pcszs;		/* flags */
26
	short	amagic;		/* see above */
27
	short	vstamp;		/* version stamp */
28
	long	tsize;		/* text size in bytes */
29
	long	dsize;		/* initialized data */
30
	long	bsize;		/* uninitialized data */
31
	long	mentry;		/* entry pt.				*/
32
	long	text_start;	/* base of text used for this file	*/
33
	long	data_start;	/* base of data used for this file	*/
34
	long	bss_start;	/* base of bss used for this file	*/
35
	long	gprmask;	/* general purpose register mask	*/
36
union{
37
	long	cprmask[4];	/* co-processor register masks		*/
38
	long	pcsize;
39
};
40
	long	gp_value;	/* the gp value used for this object    */
41
};
42
 
43
struct mips4kexec
44
{
45
	struct mipsexec	h;
46
	struct coffsect	itexts;
47
	struct coffsect idatas;
48
	struct coffsect ibsss;
49
};
50
 
51
struct sparcexec
52
{
53
	short	sjunk;		/* dynamic bit and version number */
54
	short	smagic;		/* 0407 */
55
	ulong	stext;
56
	ulong	sdata;
57
	ulong	sbss;
58
	ulong	ssyms;
59
	ulong	sentry;
60
	ulong	strsize;
61
	ulong	sdrsize;
62
};
63
 
64
struct nextexec
65
{
66
	struct	nexthdr{
67
		ulong	nmagic;
68
		ulong	ncputype;
69
		ulong	ncpusubtype;
70
		ulong	nfiletype;
71
		ulong	ncmds;
72
		ulong	nsizeofcmds;
73
		ulong	nflags;
74
	};
75
 
76
	struct nextcmd{
77
		ulong	cmd;
78
		ulong	cmdsize;
79
		uchar	segname[16];
80
		ulong	vmaddr;
81
		ulong	vmsize;
82
		ulong	fileoff;
83
		ulong	filesize;
84
		ulong	maxprot;
85
		ulong	initprot;
86
		ulong	nsects;
87
		ulong	flags;
88
	}textc;
89
	struct nextsect{
90
		char	sectname[16];
91
		char	segname[16];
92
		ulong	addr;
93
		ulong	size;
94
		ulong	offset;
95
		ulong	align;
96
		ulong	reloff;
97
		ulong	nreloc;
98
		ulong	flags;
99
		ulong	reserved1;
100
		ulong	reserved2;
101
	}texts;
102
	struct nextcmd	datac;
103
	struct nextsect	datas;
104
	struct nextsect	bsss;
105
	struct nextsym{
106
		ulong	cmd;
107
		ulong	cmdsize;
108
		ulong	symoff;
109
		ulong	nsyms;
110
		ulong	spoff;
111
		ulong	pcoff;
112
	}symc;
113
};
114
 
115
struct i386exec
116
{
117
	struct	i386coff{
118
		ulong	isectmagic;
119
		ulong	itime;
120
		ulong	isyms;
121
		ulong	insyms;
122
		ulong	iflags;
123
	};
124
	struct	i386hdr{
125
		ulong	imagic;
126
		ulong	itextsize;
127
		ulong	idatasize;
128
		ulong	ibsssize;
129
		ulong	ientry;
130
		ulong	itextstart;
131
		ulong	idatastart;
132
	};
133
	struct coffsect	itexts;
134
	struct coffsect idatas;
135
	struct coffsect ibsss;
136
	struct coffsect icomments;
137
};