Annotation of researchv9/cmd/adb/68v/a.out.h, revision 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.