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