home *** CD-ROM | disk | FTP | other *** search
- /*
- * Relocation types used in the m98k implementation. Relocation entries for
- * things other than instructions use the same generic relocation as discribed
- * above and their r_type is RELOC_VANILLA. The rest of the relocation types
- * are for instructions. Since they are for instructions the r_address field
- * indicates the 32 bit instruction that the relocation is to be preformed on.
- * The fields r_pcrel and r_length are ignored for non-RELOC_VANILLA r_types.
- */
- enum reloc_type_m98k
- {
- M98K_RELOC_VANILLA, /* generic relocation as discribed above */
- M98K_RELOC_PAIR, /* the second relocation entry of a pair */
- M98K_RELOC_BR14, /* 14 bit branch displacement (to a word address) */
- M98K_RELOC_BR24, /* 24 bit branch displacement (to a word address) */
- M98K_RELOC_HI16, /* a PAIR follows with the low half */
- M98K_RELOC_LO16, /* a PAIR follows with the high half */
- M98K_RELOC_HA16, /* Same as the RELOC_HI16 except the low 16 bits and the
- * high 16 bits are added together with the low 16 bits
- * sign extened first. This means if bit 15 of the low
- * 16 bits is set the high 16 bits stored in the
- * instruction will be adjusted.
- */
- M98K_RELOC_LO14, /* Same as the LO16 except that the low 2 bits are not
- * stored in the instruction and are always zero. This
- * is used for in double word load/store instructons.
- */
- M98K_RELOC_SECTDIFF,/* a PAIR follows with subtract symbol value */
- M98K_RELOC_PB_LA_PTR/* prebound lazy pointer */
- };
-