Annotation of researchv10no/cmd/kasb/reloc.h, revision 1.1

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

unix.superglobalmegacorp.com

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