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