[comp.sys.mips] relocation types

pan@portia.Stanford.EDU (Douglas Pan) (07/25/89)

Can anybody explain how the relocation types as defined in
/usr/include/reloc.h are used?  I assume that types 0-5 relate
to PC-relative, but what is the difference between "16-bit reference"
and "reference to high 16-bits" or "reference to low 16-bits"?

Here they are:

/*
 *   relocation types for all products and generics
 */

/*
 * All generics
 *      reloc. already performed to symbol in the same section
 */
#define  R_ABS          0

/*
 * Mips machines
 *
 *      16-bit reference
 *      32-bit reference
 *      26-bit jump reference
 *      reference to high 16-bits
 *      reference to low 16-bits
 *      reference to global pointer reletive data item
 *      reference to global pointer reletive literal pool item
 */
#define R_REFHALF       1
#define R_REFWORD       2
#define R_JMPADDR       3
#define R_REFHI         4
#define R_REFLO         5
#define R_GPREL         6
#define R_LITERAL       7


Any help would be appreciated.

--Doug