1736Speter /* Copyright (c) 1979 Regents of the University of California */ 2736Speter 3*5642Smckusic /* static char sccsid[] = "@(#)objfmt.h 1.7 02/01/82"; */ 4736Speter 5736Speter #ifdef OBJ 6736Speter /* 7736Speter * the creation time, the size and the magic number of the obj file 8736Speter */ 9736Speter struct pxhdr { 102948Smckusic long maketime; 112948Smckusic long objsize; 12*5642Smckusic long symtabsize; 13736Speter short magicnum; 14736Speter }; 15736Speter 16*5642Smckusic # define HEADER_BYTES 1536 /* the size of px_header */ 17*5642Smckusic # define PX_HEADER "/usr/lib/npx_header" /* px_header's name */ 182948Smckusic # define PI_COMP "/usr/ucb/pi" /* the compiler's name */ 191210Speter # define PX_INTRP "/usr/ucb/px" /* the interpreter's name */ 20*5642Smckusic # define PX_DEBUG "/usr/ucb/pdx" /* the debugger's name */ 212088Smckusic # define INDX 1 /* amt to shift display index */ 22736Speter #endif OBJ 23736Speter 24736Speter /* 25736Speter * the file of error messages created by mkstr 26736Speter */ 27736Speter #ifdef OBJ 28736Speter # define ERR_STRNGS "/usr/lib/pi2.0strings" 29736Speter # define ERR_PATHLEN 9 302948Smckusic # define HOW_STRNGS "/usr/lib/how_pi\0" 312948Smckusic # define HOW_PATHLEN 9 32736Speter #endif OBJ 33736Speter #ifdef PC 34736Speter # define ERR_STRNGS "/usr/lib/pc2.0strings" 35736Speter # define ERR_PATHLEN 9 362948Smckusic # define HOW_STRNGS "/usr/lib/how_pc\0" 372948Smckusic # define HOW_PATHLEN 9 38736Speter #endif PC 39736Speter 40736Speter /* 41736Speter * these are because of varying sizes of pointers 42736Speter */ 43736Speter #ifdef VAX 44736Speter # define PTR_AS O_AS4 45736Speter # define PTR_RV O_RV4 46736Speter # define PTR_IND O_IND4 472948Smckusic # define PTR_CON O_CON4 482948Smckusic # define PTR_DUP O_SDUP4 493171Smckusic # define CON_INT O_CON24 503171Smckusic # define INT_TYP (nl + T4INT) 51736Speter # define PTR_DCL unsigned long /* for pointer variables */ 52736Speter # define SHORTADDR 32768 /* maximum short address */ 53736Speter # define TOOMUCH 65536 /* maximum variable size */ 54736Speter # define MAXSET 65536 /* maximum set size */ 55736Speter /* 56736Speter * Offsets due to the structure of the runtime stack. 57736Speter * DPOFF1 is the amount of fixed storage in each block allocated 58736Speter * as local variables for the runtime system. 59736Speter * since locals are allocated negative offsets, 60736Speter * -DPOFF1 is the last used implicit local offset. 61736Speter * DPOFF2 is the size of the block mark. 62736Speter * since arguments are allocated positive offsets, 63736Speter * DPOFF2 is the end of the implicit arguments. 64736Speter * for obj, the first argument has the highest offset 65736Speter * from the stackpointer. and the block mark is an 66736Speter * implicit last parameter. 67736Speter * for pc, the first argument has the lowest offset 68736Speter * from the argumentpointer. and the block mark is an 69736Speter * implicit first parameter. 70736Speter */ 71736Speter # ifdef OBJ 72736Speter # define DPOFF1 0 73736Speter # define DPOFF2 32 74736Speter # define INPUT_OFF -8 /* offset of `input' */ 75736Speter # define OUTPUT_OFF -4 /* offset of `output' */ 76736Speter # endif OBJ 77736Speter # ifdef PC 78736Speter # define DPOFF1 ( sizeof rtlocs - sizeof rtlocs.unwind ) 79736Speter # define DPOFF2 ( sizeof (long) ) 80736Speter # define INPUT_OFF 0 81736Speter # define OUTPUT_OFF 0 82736Speter # endif PC 83736Speter # define MAGICNUM 0403 /* obj magic number */ 84736Speter #endif VAX 85736Speter 86736Speter #ifdef PDP11 87736Speter # define PTR_AS O_AS2 88736Speter # define PTR_RV O_RV2 89736Speter # define PTR_IND O_IND2 902948Smckusic # define PTR_CON O_CON2 912948Smckusic # define PTR_DUP O_SDUP2 923171Smckusic # define CON_INT O_CON2 933171Smckusic # define INT_TYP (nl + T2INT) 94736Speter # define PTR_DCL char * 95736Speter # define TOOMUCH 50000 96736Speter # define SHORTADDR 65536 972948Smckusic # define MAXSET 65536 /* maximum set size */ 982948Smckusic # define DPOFF1 0 992948Smckusic # define DPOFF2 18 /* sizeof(struct stack) */ 100736Speter # define INPUT_OFF -2 101736Speter # define OUTPUT_OFF -4 102736Speter # define MAGICNUM 0404 103736Speter #endif PDP11 104