date and time created 87/11/15 14:33:55 by sam
[unix-history] / usr / src / old / dlmpcc / scnhdr.h
/* scnhdr.h 5.1 87/11/15 */
/* @(#)scnhdr.h 2.2 12/15/82 */
struct scnhdr {
char s_name[8]; /* section name */
long s_paddr; /* physical address */
long s_vaddr; /* virtual address */
long s_size; /* section size */
long s_scnptr; /* file ptr to raw data for section */
long s_relptr; /* file ptr to relocation */
long s_lnnoptr; /* file ptr to line numbers */
unsigned short s_nreloc; /* number of relocation entries */
unsigned short s_nlnno; /* number of line number entries */
long s_flags; /* flags */
};
#define SCNHDR struct scnhdr
#define SCNHSZ sizeof(SCNHDR)
/*
* Define constants for names of "special" sections
*/
#define _TEXT ".text"
#define _DATA ".data"
#define _BSS ".bss"
#define _TV ".tv"
/*
* The low 4 bits of s_flags is used as a section "type"
*/
#define STYP_REG 0x00 /* "regular" section:
allocated, relocated, loaded */
#define STYP_DSECT 0x01 /* "dummy" section:
not allocated, relocated,
not loaded */
#define STYP_NOLOAD 0x02 /* "noload" section:
allocated, relocated,
not loaded */
#define STYP_GROUP 0x04 /* "grouped" section:
formed of input sections */
#define STYP_PAD 0x08 /* "padding" section:
not allocated, not relocated,
loaded */
#define STYP_COPY 0x10 /* "copy" section:
for decision function used
by field update; not
allocated, not relocated,
loaded; reloc & lineno
entries processed normally */
#define STYP_TEXT 0x20 /* section contains text only */
#define STYP_DATA 0x40 /* section contains data only */
#define STYP_BSS 0x80 /* section contains bss only */
/*
* In a minimal file or an update file, a new function
* (as compared with a replaced function) is indicated by S_NEWFCN
*/
#define S_NEWFCN 0x10
/*
* In 3b Update Files (output of ogen), sections which appear in SHARED
* segments of the Pfile will have the S_SHRSEG flag set by ogen, to inform
* dufr that updating 1 copy of the proc. will update all process invocations.
*/
#define S_SHRSEG 0x20