Annotation of researchv9/jerq/sgs/inc/reloc.h, revision 1.1

1.1     ! root        1: /*
        !             2:  *  static char ID[] = "@(#) reloc.h: 1.4 6/6/83";
        !             3:  */
        !             4: 
        !             5: struct reloc {
        !             6:        long    r_vaddr;        /* (virtual) address of reference */
        !             7:        long    r_symndx;       /* index into symbol table */
        !             8:        unsigned short  r_type;         /* relocation type */
        !             9:        };
        !            10: 
        !            11: 
        !            12: /*
        !            13:  *   relocation types for all products and generics
        !            14:  */
        !            15: 
        !            16: /*
        !            17:  * All generics
        !            18:  *     reloc. already performed to symbol in the same section
        !            19:  */
        !            20: #define  R_ABS         0
        !            21: 
        !            22: /*
        !            23:  * X86 generic
        !            24:  *     8-bit offset reference in 8-bits
        !            25:  *     8-bit offset reference in 16-bits 
        !            26:  *     12-bit segment reference
        !            27:  *     auxiliary relocation entry
        !            28:  */
        !            29: #define        R_OFF8          07
        !            30: #define R_OFF16                010
        !            31: #define        R_SEG12         011
        !            32: #define        R_AUX           013
        !            33: 
        !            34: /*
        !            35:  * B16 and X86 generics
        !            36:  *     16-bit direct reference
        !            37:  *     16-bit "relative" reference
        !            38:  *     16-bit "indirect" (TV) reference
        !            39:  */
        !            40: #define  R_DIR16       01
        !            41: #define  R_REL16       02
        !            42: #define  R_IND16       03
        !            43: 
        !            44: /*
        !            45:  * 3B generic
        !            46:  *     24-bit direct reference
        !            47:  *     24-bit "relative" reference
        !            48:  *     16-bit optimized "indirect" TV reference
        !            49:  *     24-bit "indirect" TV reference
        !            50:  *     32-bit "indirect" TV reference
        !            51:  */
        !            52: #define  R_DIR24       04
        !            53: #define  R_REL24       05
        !            54: #define  R_OPT16       014
        !            55: #define  R_IND24       015
        !            56: #define  R_IND32       016
        !            57: 
        !            58: /* 
        !            59:  * XL generics
        !            60:  *     10-bit direct reference
        !            61:  *     10-bit "relative" reference
        !            62:  *     32-bit "relative" reference
        !            63:  */
        !            64: #define        R_DIR10         025
        !            65: #define R_REL10                026
        !            66: #define R_REL32                027
        !            67: 
        !            68: /*
        !            69:  * 3B and M32 generics
        !            70:  *     32-bit direct reference
        !            71:  */
        !            72: #define  R_DIR32       06
        !            73: 
        !            74: /*
        !            75:  * M32 generic
        !            76:  *     32-bit direct reference with bytes swapped
        !            77:  */
        !            78: #define  R_DIR32S      012
        !            79:  
        !            80:  /*
        !            81:   * DEC Processors  VAX 11/780 and VAX 11/750 
        !            82:   *
        !            83:   */
        !            84:  
        !            85: #define R_RELBYTE      017
        !            86: #define R_RELWORD      020
        !            87: #define R_RELLONG      021
        !            88: #define R_PCRBYTE      022
        !            89: #define R_PCRWORD      023
        !            90: #define R_PCRLONG      024
        !            91: 
        !            92: /*
        !            93:  * Motorolla 68000
        !            94:  */
        !            95: 
        !            96: /* uses R_RELBYTE, R_RELWORD, R_RELLONG, R_PCRBYTE and R_PCRWORD as for
        !            97:  * DEC machines above
        !            98:  */
        !            99: 
        !           100: #define        RELOC   struct reloc
        !           101: #define        RELSZ   10      /* sizeof(RELOC) */
        !           102: 
        !           103:        /* Definition of a "TV" relocation type */
        !           104: 
        !           105: #if N3B || U3B
        !           106: #define ISTVRELOC(x)   ((x==R_OPT16)||(x==R_IND24)||(x==R_IND32))
        !           107: #endif
        !           108: #if B16 || X86
        !           109: #define ISTVRELOC(x)   (x==R_IND16)
        !           110: #endif
        !           111: #if M32
        !           112: #define ISTVRELOC(x)   (x!=x)  /* never the case */
        !           113: #endif
        !           114: #if MC68
        !           115: #define ISTVRELOC(x)   ((x == R_IND16) || (x == R_IND32))
        !           116: #endif

unix.superglobalmegacorp.com

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