Annotation of coherent/a/usr/include.b4ps2/coff/reloc.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * COFF relocation file.
                      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:  * 3B and M32 generics
                     60:  *     32-bit direct reference
                     61:  */
                     62: #define  R_DIR32       06
                     63: 
                     64: /*
                     65:  * M32 generic
                     66:  *     32-bit direct reference with bytes swapped
                     67:  */
                     68: #define  R_DIR32S      012
                     69:  
                     70:  /*
                     71:   * DEC Processors  VAX 11/780 and VAX 11/750 
                     72:   *
                     73:   */
                     74:  
                     75: #define R_RELBYTE      017
                     76: #define R_RELWORD      020
                     77: #define R_RELLONG      021
                     78: #define R_PCRBYTE      022
                     79: #define R_PCRWORD      023
                     80: #define R_PCRLONG      024
                     81: 
                     82: /*
                     83:  * Motorolla 68000
                     84:  */
                     85: 
                     86: /* uses R_RELBYTE, R_RELWORD, R_RELLONG, R_PCRBYTE and R_PCRWORD as for
                     87:  * DEC machines above
                     88:  */
                     89: 
                     90: #define        RELOC   struct reloc
                     91: #define        RELSZ   10      /* sizeof(RELOC) */
                     92: 
                     93:        /* Definition of a "TV" relocation type */
                     94: 
                     95: #if N3B || U3B
                     96: #define ISTVRELOC(x)   ((x==R_OPT16)||(x==R_IND24)||(x==R_IND32))
                     97: #endif
                     98: #if B16 || X86 || IAPX
                     99: #define ISTVRELOC(x)   (x==R_IND16)
                    100: #endif
                    101: #if M32
                    102: #define ISTVRELOC(x)   (x!=x)  /* never the case */
                    103: #endif
                    104: #if MC68
                    105: #define ISTVRELOC(x)   ((x == R_IND16) || (x == R_IND32))
                    106: #endif

unix.superglobalmegacorp.com

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