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