home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Headers / mach-o / sparc / reloc.h
C/C++ Source or Header  |  1995-07-27  |  1KB  |  31 lines

  1. /*    reloc.h   -  assemble for Sparc    */
  2. /*    Defines machine specific relocation entries */
  3.  
  4. #ifndef SPARC_RELOC_INCLUDED
  5. #define SPARC_RELOC_INCLUDED
  6.  
  7. /*
  8.  * Relocation types used in the sparc implementation.  Relocation entries for
  9.  * things other than instructions use the same generic relocation as discribed
  10.  * in <mach-o/reloc.h> and their r_type is SPARC_RELOC_VANILLA.  The rest of the
  11.  * relocation types are for instructions.  Since they are for instructions the
  12.  * r_address field indicates the 32 bit instruction that the relocation is to
  13.  * be preformed on.  The field r_pcrel is set only for the SPARC_RELOC_WDISP22
  14.  * and SPARC_RELOC_WDISP30.  And r_length is set to long for all
  15.  * non-RELOC_VANILLA r_types.
  16.  */
  17. enum reloc_type_sparc
  18. {
  19.     SPARC_RELOC_VANILLA,    /* vanilla relocation */
  20.     SPARC_RELOC_PAIR,    /* the second relocation entry of a pair */
  21.     SPARC_RELOC_HI22,    /* 22 high bits (sethi) (has pair) */
  22.     SPARC_RELOC_LO10,    /* 10 low bits (has pair) */
  23.     SPARC_RELOC_WDISP22,    /* 22 bit PC relative displacement */
  24.     SPARC_RELOC_WDISP30,    /* 30 bit PC relative displacement */
  25.     SPARC_RELOC_SECTDIFF,    /* a PAIR follows with subtract symbol value */
  26.     SPARC_RELOC_HI22_SECTDIFF,
  27.     SPARC_RELOC_LO10_SECTDIFF,
  28.     SPARC_RELOC_PB_LA_PTR    /* prebound lazy pointer */
  29. };
  30. #endif    /* SPARC_RELOC_INCLUDED */
  31.