Home | History | Annotate | Line # | Download | only in include
elf_machdep.h revision 1.8.4.1
      1 /*	$NetBSD: elf_machdep.h,v 1.8.4.1 2011/03/05 20:51:37 rmind Exp $	*/
      2 
      3 #define	ELF32_MACHDEP_ENDIANNESS	ELFDATA2MSB
      4 #define	ELF32_MACHDEP_ID_CASES						\
      5 		case EM_PPC:						\
      6 			break;
      7 
      8 #define	ELF64_MACHDEP_ENDIANNESS	ELFDATA2MSB
      9 #define	ELF64_MACHDEP_ID_CASES						\
     10 		case EM_PPC64:						\
     11 			break;
     12 
     13 #define	ELF32_MACHDEP_ID	EM_PPC
     14 #define	ELF64_MACHDEP_ID	EM_PPC64
     15 
     16 #ifdef _LP64
     17 #define ARCH_ELFSIZE		64	/* MD native binary size */
     18 #else
     19 #define ARCH_ELFSIZE		32	/* MD native binary size */
     20 #endif
     21 
     22 /* Specify the value of _GLOBAL_OFFSET_TABLE_ */
     23 #define	DT_PPC_GOT		DT_LOPROC
     24 
     25 #define	R_PPC_NONE 		0
     26 #define	R_PPC_32 		1
     27 #define	R_PPC_24 		2
     28 #define	R_PPC_16 		3
     29 #define	R_PPC_16_LO 		4
     30 #define	R_PPC_16_HI 		5 /* R_PPC_ADDIS */
     31 #define	R_PPC_16_HA 		6
     32 #define	R_PPC_14 		7
     33 #define	R_PPC_14_TAKEN 		8
     34 #define	R_PPC_14_NTAKEN 	9
     35 #define	R_PPC_REL24 		10 /* R_PPC_BRANCH */
     36 #define	R_PPC_REL14 		11
     37 #define	R_PPC_REL14_TAKEN 	12
     38 #define	R_PPC_REL14_NTAKEN 	13
     39 #define	R_PPC_GOT16 		14
     40 #define	R_PPC_GOT16_LO 		15
     41 #define	R_PPC_GOT16_HI 		16
     42 #define	R_PPC_GOT16_HA 		17
     43 #define	R_PPC_PLT24 		18
     44 #define	R_PPC_COPY 		19
     45 #define	R_PPC_GLOB_DAT 		20
     46 #define	R_PPC_JMP_SLOT 		21
     47 #define	R_PPC_RELATIVE 		22
     48 #define	R_PPC_LOCAL24PC 	23
     49 #define	R_PPC_U32 		24
     50 #define	R_PPC_U16 		25
     51 #define	R_PPC_REL32 		26
     52 #define	R_PPC_PLT32 		27
     53 #define	R_PPC_PLTREL32 		28
     54 #define	R_PPC_PLT16_LO 		29
     55 #define	R_PPC_PLT16_HI 		30
     56 #define	R_PPC_PLT16_HA 		31
     57 #define	R_PPC_SDAREL16 		32
     58 #define	R_PPC_SECTOFF 		33
     59 #define	R_PPC_SECTOFF_LO 	34
     60 #define	R_PPC_SECTOFF_HI	35
     61 #define	R_PPC_SECTOFF_HA	36
     62 #define	R_PPC_ADDR30 		37
     63 
     64 /* TLS relocations */
     65 #define	R_PPC_TLS		67
     66 
     67 #define	R_PPC_DTPMOD32		68
     68 #define	R_PPC_TPREL16		69
     69 #define	R_PPC_TPREL16_LO	70
     70 #define	R_PPC_TPREL16_HI	71
     71 #define	R_PPC_TPREL16_HA	72
     72 #define	R_PPC_TPREL32		73
     73 #define	R_PPC_DTPREL16		74
     74 #define	R_PPC_DTPREL16_LO	75
     75 #define	R_PPC_DTPREL16_HI	76
     76 #define	R_PPC_DTPREL16_HA	77
     77 #define	R_PPC_DTPREL32		78
     78 
     79 #define	R_PPC_GOT_TLSGD16	79
     80 #define	R_PPC_GOT_TLSGD16_LO	80
     81 #define	R_PPC_GOT_TLSGD16_HI	81
     82 #define	R_PPC_GOT_TLSGD16_HA	82
     83 #define	R_PPC_GOT_TLSLD16	83
     84 #define	R_PPC_GOT_TLSLD16_LO	84
     85 #define	R_PPC_GOT_TLSLD16_HI	85
     86 #define	R_PPC_GOT_TLSLD16_HA	86
     87 
     88 #define	R_PPC_GOT_TPREL16	87
     89 #define	R_PPC_GOT_TPREL16_LO	88
     90 #define	R_PPC_GOT_TPREL16_HI	89
     91 #define	R_PPC_GOT_TPREL16_HA	90
     92 #define	R_PPC_GOT_DTPREL16	91
     93 #define	R_PPC_GOT_DTPREL16_LO	92
     94 #define	R_PPC_GOT_DTPREL16_HI	93
     95 #define	R_PPC_GOT_DTPREL16_HA	94
     96 #define	R_PPC_TLSGD		95
     97 #define	R_PPC_TLSLD		96
     98 
     99 /* Used for the secure-plt PIC code sequences */
    100 #define	R_PPC_REL16		249
    101 #define	R_PPC_REL16_LO		250
    102 #define	R_PPC_REL16_HI		251
    103 #define	R_PPC_REL16_HA		252
    104 
    105 #define R_TYPE(name) 		__CONCAT(R_PPC_,name)
    106