xref: /netbsd/sys/arch/hppa/include/elf_machdep.h (revision 6550d01e)
1 /*	$NetBSD: elf_machdep.h,v 1.3 2009/05/30 05:56:52 skrll Exp $	*/
2 
3 #define	ELF32_MACHDEP_ENDIANNESS	ELFDATA2MSB
4 #define	ELF32_MACHDEP_ID_CASES						\
5 		case EM_PARISC:						\
6 			break;
7 
8 #define	ELF64_MACHDEP_ENDIANNESS	XXX	/* break compilation */
9 #define	ELF64_MACHDEP_ID_CASES						\
10 		/* no 64-bit ELF machine types supported */
11 
12 #define	ELF32_MACHDEP_ID	EM_PARISC
13 
14 #define ARCH_ELFSIZE		32	/* MD native binary size */
15 
16 /* hppa relocation types */
17 #define R_PARISC_NONE	         0 /* No reloc */
18 #define R_PARISC_DIR32	   	 1
19 #define R_PARISC_DIR21L	   	 2
20 #define R_PARISC_DIR17R	   	 3
21 #define R_PARISC_DIR17F	   	 4
22 #define R_PARISC_DIR14R	   	 6
23 #define R_PARISC_DIR14F	   	 7
24 #define R_PARISC_PCREL12F  	 8
25 #define R_PARISC_PCREL32   	 9
26 #define R_PARISC_PCREL21L  	10
27 #define R_PARISC_PCREL17R  	11
28 #define R_PARISC_PCREL17F  	12
29 #define R_PARISC_PCREL17C  	13
30 #define R_PARISC_PCREL14R  	14
31 #define R_PARISC_PCREL14F  	15
32 #define R_PARISC_DPREL21L  	18
33 #define R_PARISC_DPREL14WR 	19
34 #define R_PARISC_DPREL14DR 	20
35 #define R_PARISC_DPREL14R  	22
36 #define R_PARISC_DPREL14F  	23
37 #define R_PARISC_DLTREL21L     	26
38 #define R_PARISC_DLTREL14R     	30
39 #define R_PARISC_DLTREL14F     	31
40 #define R_PARISC_DLTIND21L     	34
41 #define R_PARISC_DLTIND14R     	38
42 #define R_PARISC_DLTIND14F     	39
43 #define R_PARISC_SETBASE       	40
44 #define R_PARISC_SECREL32      	41
45 #define R_PARISC_BASEREL21L    	42
46 #define R_PARISC_BASEREL17R    	43
47 #define R_PARISC_BASEREL17F    	44
48 #define R_PARISC_BASEREL14R    	46
49 #define R_PARISC_BASEREL14F    	47
50 #define R_PARISC_SEGBASE       	48
51 #define R_PARISC_SEGREL32      	49
52 #define R_PARISC_PLTOFF21L     	50
53 #define R_PARISC_PLTOFF14R     	54
54 #define R_PARISC_PLTOFF14F     	55
55 #define R_PARISC_LTOFF_FPTR32  	57
56 #define R_PARISC_LTOFF_FPTR21L 	58
57 #define R_PARISC_LTOFF_FPTR14R 	62
58 #define R_PARISC_FPTR64        	64
59 #define R_PARISC_PLABEL32      	65
60 #define R_PARISC_PLABEL21L     	66
61 #define R_PARISC_PLABEL14R     	70
62 #define R_PARISC_PCREL64       	72
63 #define R_PARISC_PCREL22C      	73
64 #define R_PARISC_PCREL22F      	74
65 #define R_PARISC_PCREL14WR     	75
66 #define R_PARISC_PCREL14DR     	76
67 #define R_PARISC_PCREL16F      	77
68 #define R_PARISC_PCREL16WF     	78
69 #define R_PARISC_PCREL16DF     	79
70 #define R_PARISC_DIR64         	80
71 #define R_PARISC_DIR64WR       	81
72 #define R_PARISC_DIR64DR       	82
73 #define R_PARISC_DIR14WR       	83
74 #define R_PARISC_DIR14DR       	84
75 #define R_PARISC_DIR16F        	85
76 #define R_PARISC_DIR16WF       	86
77 #define R_PARISC_DIR16DF       	87
78 #define R_PARISC_GPREL64       	88
79 #define R_PARISC_DLTREL14WR    	91
80 #define R_PARISC_DLTREL14DR    	92
81 #define R_PARISC_GPREL16F      	93
82 #define R_PARISC_GPREL16WF     	94
83 #define R_PARISC_GPREL16DF     	95
84 #define R_PARISC_LTOFF64      	96
85 #define R_PARISC_DLTIND14WR   	99
86 #define R_PARISC_DLTIND14DR     100
87 #define R_PARISC_LTOFF16F       101
88 #define R_PARISC_LTOFF16WF      102
89 #define R_PARISC_LTOFF16DF      103
90 #define R_PARISC_SECREL64       104
91 #define R_PARISC_BASEREL14WR    107
92 #define R_PARISC_BASEREL14DR    108
93 #define R_PARISC_SEGREL64       112
94 #define R_PARISC_PLTOFF14WR     115
95 #define R_PARISC_PLTOFF14DR     116
96 #define R_PARISC_PLTOFF16F      117
97 #define R_PARISC_PLTOFF16WF     118
98 #define R_PARISC_PLTOFF16DF     119
99 #define R_PARISC_LTOFF_FPTR64   120
100 #define R_PARISC_LTOFF_FPTR14WR 123
101 #define R_PARISC_LTOFF_FPTR14DR 124
102 #define R_PARISC_LTOFF_FPTR16F  125
103 #define R_PARISC_LTOFF_FPTR16WF 126
104 #define R_PARISC_LTOFF_FPTR16DF 127
105 #define R_PARISC_COPY 	       128
106 #define R_PARISC_IPLT 	       129
107 #define R_PARISC_EPLT 	       130
108 #define R_PARISC_TPREL32        153
109 #define R_PARISC_TPREL21L       154
110 #define R_PARISC_TPREL14R       158
111 #define R_PARISC_LTOFF_TP21L    162
112 #define R_PARISC_LTOFF_TP14R    166
113 #define R_PARISC_LTOFF_TP14F    167
114 #define R_PARISC_TPREL64        216
115 #define R_PARISC_TPREL14WR      219
116 #define R_PARISC_TPREL14DR      220
117 #define R_PARISC_TPREL16F       221
118 #define R_PARISC_TPREL16WF      222
119 #define R_PARISC_TPREL16DF      223
120 #define R_PARISC_LTOFF_TP64     224
121 #define R_PARISC_LTOFF_TP14WR   227
122 #define R_PARISC_LTOFF_TP14DR   228
123 #define R_PARISC_LTOFF_TP16F    229
124 #define R_PARISC_LTOFF_TP16WF   230
125 #define R_PARISC_LTOFF_TP16DF   231
126 #define R_PARISC_GNU_VTENTRY    232
127 #define R_PARISC_GNU_VTINHERIT  233
128 
129 /* TLS relocations */
130 #define R_PARISC_TLS_GD21L	234
131 #define R_PARISC_TLS_GD14R	235
132 #define R_PARISC_TLS_GDCALL	236
133 #define R_PARISC_TLS_LDM21L	237
134 #define R_PARISC_TLS_LDM14R	238
135 #define R_PARISC_TLS_LDMCALL	239
136 #define R_PARISC_TLS_LDO21L	240
137 #define R_PARISC_TLS_LDO14R	241
138 #define R_PARISC_TLS_DTPMOD32	242
139 #define R_PARISC_TLS_DTPMOD64	243
140 #define R_PARISC_TLS_DTPOFF32	244
141 #define R_PARISC_TLS_DTPOFF64	245
142 
143 #define R_PARISC_TLS_LE21L	R_PARISC_TPREL21L
144 #define R_PARISC_TLS_LE14R	R_PARISC_TPREL14R
145 #define R_PARISC_TLS_IE21L	R_PARISC_LTOFF_TP21L
146 #define R_PARISC_TLS_IE14R	R_PARISC_LTOFF_TP14R
147 #define R_PARISC_TLS_TPREL32	R_PARISC_TPREL32
148 #define R_PARISC_TLS_TPREL64	R_PARISC_TPREL64
149 
150 #define	R_TYPE(name)	__CONCAT(R_PARISC_,name)
151