xref: /csrg-svn/sys/pmax/stand/dec_exec.h (revision 63226)
158006Sralph /*-
2*63226Sbostic  * Copyright (c) 1993
3*63226Sbostic  *	The Regents of the University of California.  All rights reserved.
458005Sralph  *
558005Sralph  * This code is derived from software contributed to Berkeley by
658005Sralph  * Ralph Campbell.
758005Sralph  *
858005Sralph  * %sccs.include.redist.c%
958005Sralph  *
10*63226Sbostic  *	@(#)dec_exec.h	8.1 (Berkeley) 06/10/93
1158005Sralph  */
1258005Sralph 
1358005Sralph /*
1458005Sralph  * Portions of this file are subject to the following copyright notice:
1558005Sralph  *
1658005Sralph  * Copyright (C) 1989 Digital Equipment Corporation.
1758005Sralph  * Permission to use, copy, modify, and distribute this software and
1858005Sralph  * its documentation for any purpose and without fee is hereby granted,
1958005Sralph  * provided that the above copyright notice appears in all copies.
2058005Sralph  * Digital Equipment Corporation makes no representations about the
2158005Sralph  * suitability of this software for any purpose.  It is provided "as is"
2258005Sralph  * without express or implied warranty.
2358005Sralph  */
2458005Sralph 
2558005Sralph /*
2658005Sralph  * /sprite/src/kernel/proc/ds3100.md/RCS/procMach.h,v 9.3 90/02/20 15:35:50
2758005Sralph  * shirriff Exp $ SPRITE (Berkeley)
2858005Sralph  */
2958005Sralph 
3058005Sralph /* Description of the COFF section. */
3158005Sralph struct coff_exec {
3258005Sralph #define	COFF_MAGIC	0x0162
3358005Sralph 	u_short	magic;		/* The magic number. */
3458005Sralph 
3558005Sralph 	u_short	numSections;	/* The number of sections. */
3658005Sralph 	long	timeDateStamp;	/* Time and date stamp. */
3758005Sralph 	long	symPtr;		/* File pointer to symbolic header. */
3858005Sralph 	long	numSyms;	/* Size of symbolic header. */
3958005Sralph 	u_short	optHeader;	/* Size of optional header. */
4058005Sralph 	u_short	flags;		/* Flags. */
4158005Sralph 
4258005Sralph /* Description of the a.out section. */
4358005Sralph 	short	aout_magic;	/* Magic number. */
4458005Sralph 
4558005Sralph 	short	verStamp;	/* Version stamp. */
4658005Sralph 	long	codeSize;	/* Code size in bytes. */
4758005Sralph 	long	heapSize;	/* Initialized data size in bytes. */
4858005Sralph 	long	bssSize;	/* Uninitialized data size in bytes. */
4958005Sralph 	long	entry;		/* Entry point. */
5058005Sralph 	long	codeStart;	/* Base of code used for this file. */
5158005Sralph 	long	heapStart;	/* Base of heap used for this file. */
5258005Sralph 	long	bssStart;	/* Base of bss used for this file. */
5358005Sralph 	long	gprMask;	/* General purpose register mask. */
5458005Sralph 	long	cprMask[4];	/* Co-processor register masks. */
5558005Sralph 	long	gpValue;	/* The gp value for this object. */
5658005Sralph };
5758005Sralph 
5858005Sralph /* Section header. */
5958005Sralph typedef struct {
6058005Sralph 	char	name[8];	/* Section name. */
6158005Sralph 	long	physAddr;	/* Section physical address. */
6258005Sralph 	long	virtAddr;	/* Section virtual address. */
6358005Sralph 	long	size;		/* Section size. */
6458005Sralph 	long	sectionPtr;	/* File pointer to section data. */
6558005Sralph 	long	relocPtr;	/* File pointer to relocation data. */
6658005Sralph 	long	lnnoPtr;	/* File pointer to gp tables. */
6758005Sralph 	u_short	numReloc;	/* Number of relocation entries. */
6858005Sralph 	u_short	numLnno;	/* Numberof gp tables. */
6958005Sralph 	long	flags;		/* Section flags. */
7058005Sralph } ProcSectionHeader;
71