reloc(4) reloc(4)NAME reloc - relocation information for a common object file SYNOPSIS #include <reloc.h> DESCRIPTION Object files have one relocation entry for each relocatable reference in the text or data. If relocation information is present, it will be in the following format. struct reloc { long r_vaddr ; /* (virtual) address of reference */ long r_symndx ; /* index into symbol table */ short r_type ; /* relocation type */ } ; /* * All generics * reloc already performed to symbol in the * same section */ #define R_ABS 0 /* * DEC Processors VAX 11/780 and VAX 11/750 * */ #define R_RELBYTE 017 #define R_RELWORD 020 #define R_RELLONG 021 #define R_PCRBYTE 022 #define R_PCRWORD 023 #define R_PCRLONG 024 /* * Motorola 68000 uses R_RELBYTE, R_RELWORD, R_RELLONG, * R_PCRBYTE, and R_PCRWORD as for DEC machines above. */ As the link editor reads each input section and performs relocation, the relocation entries are read. They direct how references found within the input section are treated. R_ABS The reference is absolute, and no relocation is necessary. The entry will be ignored. January 1992 1
reloc(4) reloc(4)R_RELBYTE A direct 8-bit reference to a symbol's virtual address. R_RELWORD A direct 16-bit reference to a symbol's virtual address. R_RELLONG A direct 32-bit reference to a symbol's virtual address. R_PCRBYTE A ``PC-relative'' 8-bit reference to a symbol's virtual address. R_PCRWORD A ``PC-relative'' 16-bit reference to a symbol's virtual address. R_PCRLONG A ``PC-relative'' 32-bit reference to a symbol's virtual address. On the VAX processors, relocation of a symbol index of -1 indicates that the relative difference between the current segment's start address and the program's load address is added to the relocatable address. Other relocation types will be defined as they are needed. Relocation entries are generated automatically by the assembler and automatically utilized by the link editor. A link editor option exists for removing the relocation entries from an object file. SEE ALSO a.out(4), syms(4) ld(1), strip(1) in A/UX Command Reference 2 January 1992