home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / cctools / include / mach-o / m98k / reloc.h
Encoding:
C/C++ Source or Header  |  1995-06-24  |  1.5 KB  |  30 lines

  1. /*
  2.  * Relocation types used in the m98k implementation.  Relocation entries for
  3.  * things other than instructions use the same generic relocation as discribed
  4.  * above and their r_type is RELOC_VANILLA.  The rest of the relocation types
  5.  * are for instructions.  Since they are for instructions the r_address field
  6.  * indicates the 32 bit instruction that the relocation is to be preformed on.
  7.  * The fields r_pcrel and r_length are ignored for non-RELOC_VANILLA r_types.
  8.  */
  9. enum reloc_type_m98k
  10. {
  11.     M98K_RELOC_VANILLA,    /* generic relocation as discribed above */
  12.     M98K_RELOC_PAIR,    /* the second relocation entry of a pair */
  13.     M98K_RELOC_BR14,    /* 14 bit branch displacement (to a word address) */
  14.     M98K_RELOC_BR24,    /* 24 bit branch displacement (to a word address) */
  15.     M98K_RELOC_HI16,    /* a PAIR follows with the low half */
  16.     M98K_RELOC_LO16,    /* a PAIR follows with the high half */
  17.     M98K_RELOC_HA16,    /* Same as the RELOC_HI16 except the low 16 bits and the
  18.              * high 16 bits are added together with the low 16 bits
  19.              * sign extened first.  This means if bit 15 of the low
  20.              * 16 bits is set the high 16 bits stored in the
  21.              * instruction will be adjusted.
  22.              */
  23.     M98K_RELOC_LO14,    /* Same as the LO16 except that the low 2 bits are not
  24.              * stored in the instruction and are always zero.  This
  25.              * is used for in double word load/store instructons.
  26.              */
  27.     M98K_RELOC_SECTDIFF,/* a PAIR follows with subtract symbol value */
  28.     M98K_RELOC_PB_LA_PTR/* prebound lazy pointer */
  29. };
  30.