Annotation of researchv9/cmd/adb/68v/a.out.h, revision 1.1.1.1

1.1       root        1: struct exec {  /* a.out header */
                      2:        long    a_magic;        /* magic number */
                      3:        long    a_text;         /* size of text segment */
                      4:        long    a_data;         /* size of initialized data */
                      5:        long    a_bss;          /* size of unitialized data */
                      6:        long    a_syms;         /* size of symbol table */
                      7:        long    a_entry;        /* entry point */
                      8:        long    a_unused;       /* not used */
                      9:        long    a_flag;         /* relocation info stripped */
                     10: };
                     11: 
                     12: #define        A_MAGIC1        0407            /* normal */
                     13: #define        A_MAGIC2        0410            /* read-only text */
                     14: #define        A_MAGIC3        0411            /* separated I&D */
                     15: #define        A_MAGIC4        0406            /* mpx */
                     16: 
                     17: struct nlist { /* symbol table entry */
                     18:        char    n_name[8];      /* symbol name */
                     19:        char    n_type;         /* type flag */
                     20:        char    n_dtype;
                     21:        unsigned short n_desc;  /* C type code */
                     22:        long    n_value;        /* value */
                     23: };
                     24: 
                     25: /* values for n_type */
                     26: #define        N_UNDF  0       /* undefined */
                     27: #define        N_ABS   02      /* absolute */
                     28: #define        N_TEXT  04      /* text symbol */
                     29: #define        N_DATA  06      /* data symbol */
                     30: #define        N_BSS   010     /* bss symbol */
                     31: #define N_TYPE 036
                     32: #define        N_EXT   01      /* external bit, or'ed in */
                     33: 
                     34: #define        FORMAT  "%04x"  /* to print a value */
                     35: 
                     36: /*
                     37:  * Quantities for relocation words
                     38:  */
                     39: /* modifiers applying to relocation bits */
                     40: #define        X2WDS   020     /* long (2-word) quantity */
                     41: #define        XPCREL  040     /* PC-relative */
                     42: #define        XOFFS   0100    /* relative to base of data */
                     43: 
                     44: /* Instruction types, for loader-optimizer */
                     45: /* Apply only if type is N_ABS */
                     46: #define        TMASK   03600   /* Mask for type */
                     47: #define        TBR0    00200   /* Short (8-bit) branch */
                     48: #define        TBR1    00400   /* medium (16-bit) branch */
                     49: #define        TEA0    00600   /* Long absolute addr follows immediately */
                     50: #define        TEA1    01000   /* Long absolute addr after 1 word */
                     51: #define        TEA2    01200   /* Long absolute addr after 2 words */
                     52: #define        TIM0    01400   /* Long, shrinkable immediate follows */
                     53: #define        TPC0    01600   /* Long absolute convertible to pc-rel */
                     54: #define        TPC1    02000   /* Long absolute convertible to pc-rel after 1 wd */
                     55: #define        TPC2    02200   /* Long absolute convertible to pc-rel after 2 wds */
                     56: #define        TMM     02400   /* movem instruction */
                     57: 
                     58: /* Possible second E.A. for mov instruction */
                     59: #define        TMASK1  074000
                     60: #define        TSHFT1  4

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.