|
|
1.1 ! root 1: #ident "@(#)/usr/include/reloc.h.sl 1.2 4.1 09/02/86 43787 AT&T-SF" ! 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 || u3b15 || u3b5 || u3b2 generics ! 57: * 32-bit direct reference ! 58: */ ! 59: #define R_DIR32 06 ! 60: ! 61: /* ! 62: * M32 || u3b15 || u3b5 || u3b2 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: * Motorola 68000 ! 81: * ! 82: * ... uses R_RELBYTE, R_RELWORD, R_RELLONG, R_PCRBYTE and R_PCRWORD as for ! 83: * DEC machines above. ! 84: */ ! 85: ! 86: ! 87: #define RELOC struct reloc ! 88: #define RELSZ 10 /* sizeof(RELOC) */ ! 89: ! 90: /* Definition of a "TV" relocation type */ ! 91: ! 92: #if N3B ! 93: #define ISTVRELOC(x) ((x==R_OPT16)||(x==R_IND24)||(x==R_IND32)) ! 94: #endif ! 95: #if B16 || X86 ! 96: #define ISTVRELOC(x) (x==R_IND16) ! 97: #endif ! 98: #if M32 || u3b15 || u3b5 || u3b2 ! 99: #define ISTVRELOC(x) (x!=x) /* never the case */ ! 100: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.