summaryrefslogtreecommitdiff
path: root/sys/arch/hppa/include/elf_machdep.h
blob: 649a8259922328be712ada46a8326cdaf9cb7c84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/*	$NetBSD: elf_machdep.h,v 1.4 2017/11/06 03:47:46 christos Exp $	*/

#define	ELF32_MACHDEP_ENDIANNESS	ELFDATA2MSB
#define	ELF32_MACHDEP_ID_CASES						\
		case EM_PARISC:						\
			break;

#define	ELF64_MACHDEP_ENDIANNESS	XXX	/* break compilation */
#define	ELF64_MACHDEP_ID_CASES						\
		/* no 64-bit ELF machine types supported */

#define	ELF32_MACHDEP_ID	EM_PARISC

#define	KERN_ELFSIZE		32
#define ARCH_ELFSIZE		32	/* MD native binary size */

/* hppa relocation types */
#define R_PARISC_NONE	         0 /* No reloc */
#define R_PARISC_DIR32	   	 1
#define R_PARISC_DIR21L	   	 2
#define R_PARISC_DIR17R	   	 3
#define R_PARISC_DIR17F	   	 4
#define R_PARISC_DIR14R	   	 6
#define R_PARISC_DIR14F	   	 7
#define R_PARISC_PCREL12F  	 8
#define R_PARISC_PCREL32   	 9
#define R_PARISC_PCREL21L  	10
#define R_PARISC_PCREL17R  	11
#define R_PARISC_PCREL17F  	12
#define R_PARISC_PCREL17C  	13
#define R_PARISC_PCREL14R  	14
#define R_PARISC_PCREL14F  	15
#define R_PARISC_DPREL21L  	18
#define R_PARISC_DPREL14WR 	19
#define R_PARISC_DPREL14DR 	20
#define R_PARISC_DPREL14R  	22
#define R_PARISC_DPREL14F  	23
#define R_PARISC_DLTREL21L     	26
#define R_PARISC_DLTREL14R     	30
#define R_PARISC_DLTREL14F     	31
#define R_PARISC_DLTIND21L     	34
#define R_PARISC_DLTIND14R     	38
#define R_PARISC_DLTIND14F     	39
#define R_PARISC_SETBASE       	40
#define R_PARISC_SECREL32      	41
#define R_PARISC_BASEREL21L    	42
#define R_PARISC_BASEREL17R    	43
#define R_PARISC_BASEREL17F    	44
#define R_PARISC_BASEREL14R    	46
#define R_PARISC_BASEREL14F    	47
#define R_PARISC_SEGBASE       	48
#define R_PARISC_SEGREL32      	49
#define R_PARISC_PLTOFF21L     	50
#define R_PARISC_PLTOFF14R     	54
#define R_PARISC_PLTOFF14F     	55
#define R_PARISC_LTOFF_FPTR32  	57
#define R_PARISC_LTOFF_FPTR21L 	58
#define R_PARISC_LTOFF_FPTR14R 	62
#define R_PARISC_FPTR64        	64
#define R_PARISC_PLABEL32      	65
#define R_PARISC_PLABEL21L     	66
#define R_PARISC_PLABEL14R     	70
#define R_PARISC_PCREL64       	72
#define R_PARISC_PCREL22C      	73
#define R_PARISC_PCREL22F      	74
#define R_PARISC_PCREL14WR     	75
#define R_PARISC_PCREL14DR     	76
#define R_PARISC_PCREL16F      	77
#define R_PARISC_PCREL16WF     	78
#define R_PARISC_PCREL16DF     	79
#define R_PARISC_DIR64         	80
#define R_PARISC_DIR64WR       	81
#define R_PARISC_DIR64DR       	82
#define R_PARISC_DIR14WR       	83
#define R_PARISC_DIR14DR       	84
#define R_PARISC_DIR16F        	85
#define R_PARISC_DIR16WF       	86
#define R_PARISC_DIR16DF       	87
#define R_PARISC_GPREL64       	88
#define R_PARISC_DLTREL14WR    	91
#define R_PARISC_DLTREL14DR    	92
#define R_PARISC_GPREL16F      	93
#define R_PARISC_GPREL16WF     	94
#define R_PARISC_GPREL16DF     	95
#define R_PARISC_LTOFF64      	96
#define R_PARISC_DLTIND14WR   	99
#define R_PARISC_DLTIND14DR     100
#define R_PARISC_LTOFF16F       101
#define R_PARISC_LTOFF16WF      102
#define R_PARISC_LTOFF16DF      103
#define R_PARISC_SECREL64       104
#define R_PARISC_BASEREL14WR    107
#define R_PARISC_BASEREL14DR    108
#define R_PARISC_SEGREL64       112
#define R_PARISC_PLTOFF14WR     115
#define R_PARISC_PLTOFF14DR     116
#define R_PARISC_PLTOFF16F      117
#define R_PARISC_PLTOFF16WF     118
#define R_PARISC_PLTOFF16DF     119
#define R_PARISC_LTOFF_FPTR64   120
#define R_PARISC_LTOFF_FPTR14WR 123
#define R_PARISC_LTOFF_FPTR14DR 124
#define R_PARISC_LTOFF_FPTR16F  125
#define R_PARISC_LTOFF_FPTR16WF 126
#define R_PARISC_LTOFF_FPTR16DF 127
#define R_PARISC_COPY 	       128
#define R_PARISC_IPLT 	       129
#define R_PARISC_EPLT 	       130
#define R_PARISC_TPREL32        153
#define R_PARISC_TPREL21L       154
#define R_PARISC_TPREL14R       158
#define R_PARISC_LTOFF_TP21L    162
#define R_PARISC_LTOFF_TP14R    166
#define R_PARISC_LTOFF_TP14F    167
#define R_PARISC_TPREL64        216
#define R_PARISC_TPREL14WR      219
#define R_PARISC_TPREL14DR      220
#define R_PARISC_TPREL16F       221
#define R_PARISC_TPREL16WF      222
#define R_PARISC_TPREL16DF      223
#define R_PARISC_LTOFF_TP64     224
#define R_PARISC_LTOFF_TP14WR   227
#define R_PARISC_LTOFF_TP14DR   228
#define R_PARISC_LTOFF_TP16F    229
#define R_PARISC_LTOFF_TP16WF   230
#define R_PARISC_LTOFF_TP16DF   231
#define R_PARISC_GNU_VTENTRY    232
#define R_PARISC_GNU_VTINHERIT  233

/* TLS relocations */
#define R_PARISC_TLS_GD21L	234
#define R_PARISC_TLS_GD14R	235
#define R_PARISC_TLS_GDCALL	236
#define R_PARISC_TLS_LDM21L	237
#define R_PARISC_TLS_LDM14R	238
#define R_PARISC_TLS_LDMCALL	239
#define R_PARISC_TLS_LDO21L	240
#define R_PARISC_TLS_LDO14R	241
#define R_PARISC_TLS_DTPMOD32	242
#define R_PARISC_TLS_DTPMOD64	243
#define R_PARISC_TLS_DTPOFF32	244
#define R_PARISC_TLS_DTPOFF64	245

#define R_PARISC_TLS_LE21L	R_PARISC_TPREL21L
#define R_PARISC_TLS_LE14R	R_PARISC_TPREL14R
#define R_PARISC_TLS_IE21L	R_PARISC_LTOFF_TP21L
#define R_PARISC_TLS_IE14R	R_PARISC_LTOFF_TP14R
#define R_PARISC_TLS_TPREL32	R_PARISC_TPREL32
#define R_PARISC_TLS_TPREL64	R_PARISC_TPREL64

#define	R_TYPE(name)	__CONCAT(R_PARISC_,name)