xref: /aosp_15_r20/external/elfutils/backends/aarch64_reloc.def (revision 7304104da70ce23c86437a01be71edd1a2d7f37e)
1*7304104dSAndroid Build Coastguard Worker/* List the relocation types for AArch64.  -*- C -*-
2*7304104dSAndroid Build Coastguard Worker   Copyright (C) 2013, 2014, 2015 Red Hat, Inc.
3*7304104dSAndroid Build Coastguard Worker   This file is part of elfutils.
4*7304104dSAndroid Build Coastguard Worker
5*7304104dSAndroid Build Coastguard Worker   This file is free software; you can redistribute it and/or modify
6*7304104dSAndroid Build Coastguard Worker   it under the terms of either
7*7304104dSAndroid Build Coastguard Worker
8*7304104dSAndroid Build Coastguard Worker     * the GNU Lesser General Public License as published by the Free
9*7304104dSAndroid Build Coastguard Worker       Software Foundation; either version 3 of the License, or (at
10*7304104dSAndroid Build Coastguard Worker       your option) any later version
11*7304104dSAndroid Build Coastguard Worker
12*7304104dSAndroid Build Coastguard Worker   or
13*7304104dSAndroid Build Coastguard Worker
14*7304104dSAndroid Build Coastguard Worker     * the GNU General Public License as published by the Free
15*7304104dSAndroid Build Coastguard Worker       Software Foundation; either version 2 of the License, or (at
16*7304104dSAndroid Build Coastguard Worker       your option) any later version
17*7304104dSAndroid Build Coastguard Worker
18*7304104dSAndroid Build Coastguard Worker   or both in parallel, as here.
19*7304104dSAndroid Build Coastguard Worker
20*7304104dSAndroid Build Coastguard Worker   elfutils is distributed in the hope that it will be useful, but
21*7304104dSAndroid Build Coastguard Worker   WITHOUT ANY WARRANTY; without even the implied warranty of
22*7304104dSAndroid Build Coastguard Worker   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
23*7304104dSAndroid Build Coastguard Worker   General Public License for more details.
24*7304104dSAndroid Build Coastguard Worker
25*7304104dSAndroid Build Coastguard Worker   You should have received copies of the GNU General Public License and
26*7304104dSAndroid Build Coastguard Worker   the GNU Lesser General Public License along with this program.  If
27*7304104dSAndroid Build Coastguard Worker   not, see <http://www.gnu.org/licenses/>.  */
28*7304104dSAndroid Build Coastguard Worker
29*7304104dSAndroid Build Coastguard Worker/*	    NAME,		REL|EXEC|DYN	*/
30*7304104dSAndroid Build Coastguard Worker
31*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ABS64,		REL|EXEC|DYN)
32*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ABS32,		REL|EXEC|DYN)
33*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (COPY,		EXEC|DYN)
34*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GLOB_DAT,		EXEC|DYN)
35*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (JUMP_SLOT,		EXEC|DYN)
36*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (RELATIVE,		EXEC|DYN)
37*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLS_DTPMOD,		EXEC|DYN)
38*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLS_DTPREL,		EXEC|DYN)
39*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLS_TPREL,		EXEC|DYN)
40*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSDESC,		EXEC|DYN)
41*7304104dSAndroid Build Coastguard Worker
42*7304104dSAndroid Build Coastguard Worker/* R_AARCH64_NONE records that the section containing the place to be
43*7304104dSAndroid Build Coastguard Worker   relocated depends on the section defining the symbol mentioned in
44*7304104dSAndroid Build Coastguard Worker   the relocation directive[.]  (ARM IHI 0056B).  */
45*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (NONE,		REL)
46*7304104dSAndroid Build Coastguard Worker
47*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ABS16,		REL)
48*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PREL64,		REL)
49*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PREL32,		REL)
50*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (PREL16,		REL)
51*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_UABS_G0,	REL)
52*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_UABS_G0_NC,	REL)
53*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_UABS_G1,	REL)
54*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_UABS_G1_NC,	REL)
55*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_UABS_G2,	REL)
56*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_UABS_G2_NC,	REL)
57*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_UABS_G3,	REL)
58*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_SABS_G0,	REL)
59*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_SABS_G1,	REL)
60*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_SABS_G2,	REL)
61*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (LD_PREL_LO19,	REL)
62*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADR_PREL_LO21,	REL)
63*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADR_PREL_PG_HI21,	REL)
64*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADR_PREL_PG_HI21_NC, REL)
65*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADD_ABS_LO12_NC,	REL)
66*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (LDST8_ABS_LO12_NC,	REL)
67*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (LDST16_ABS_LO12_NC,	REL)
68*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (LDST32_ABS_LO12_NC,	REL)
69*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (LDST64_ABS_LO12_NC,	REL)
70*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (LDST128_ABS_LO12_NC, REL)
71*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TSTBR14,		REL)
72*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (CONDBR19,		REL)
73*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (JUMP26,		REL)
74*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (CALL26,		REL)
75*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_PREL_G0,	REL)
76*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_PREL_G0_NC,	REL)
77*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_PREL_G1,	REL)
78*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_PREL_G1_NC,	REL)
79*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_PREL_G2,	REL)
80*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_PREL_G2_NC,	REL)
81*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_PREL_G3,	REL)
82*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_GOTOFF_G0,	REL)
83*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_GOTOFF_G0_NC,	REL)
84*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_GOTOFF_G1,	REL)
85*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_GOTOFF_G1_NC,	REL)
86*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_GOTOFF_G2,	REL)
87*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_GOTOFF_G2_NC,	REL)
88*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (MOVW_GOTOFF_G3,	REL)
89*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOTREL64,		REL)
90*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOTREL32,		REL)
91*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (GOT_LD_PREL19,	REL)
92*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (LD64_GOTOFF_LO15,	REL)
93*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (ADR_GOT_PAGE,	REL)
94*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (LD64_GOT_LO12_NC,	REL)
95*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (LD64_GOTPAGE_LO15,	REL)
96*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSGD_ADR_PREL21,	REL)
97*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSGD_ADR_PAGE21,	REL)
98*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSGD_ADD_LO12_NC,	REL)
99*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSGD_MOVW_G1,	REL)
100*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSGD_MOVW_G0_NC,	REL)
101*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_ADR_PREL21,	REL)
102*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_ADR_PAGE21,	REL)
103*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_ADD_LO12_NC,	REL)
104*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_MOVW_G1,	REL)
105*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_MOVW_G0_NC,	REL)
106*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_LD_PREL19,	REL)
107*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_MOVW_DTPREL_G2,	REL)
108*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_MOVW_DTPREL_G1,	REL)
109*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_MOVW_DTPREL_G1_NC,	REL)
110*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_MOVW_DTPREL_G0,	REL)
111*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_MOVW_DTPREL_G0_NC,	REL)
112*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_ADD_DTPREL_HI12,	REL)
113*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_ADD_DTPREL_LO12,	REL)
114*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_ADD_DTPREL_LO12_NC,	REL)
115*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_LDST8_DTPREL_LO12,	REL)
116*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_LDST8_DTPREL_LO12_NC,	REL)
117*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_LDST16_DTPREL_LO12,	REL)
118*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_LDST16_DTPREL_LO12_NC, REL)
119*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_LDST32_DTPREL_LO12,	REL)
120*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_LDST32_DTPREL_LO12_NC, REL)
121*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_LDST64_DTPREL_LO12,	REL)
122*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_LDST64_DTPREL_LO12_NC, REL)
123*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_LDST128_DTPREL_LO12,	REL)
124*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLD_LDST128_DTPREL_LO12_NC, REL)
125*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSIE_MOVW_GOTTPREL_G1,	REL)
126*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSIE_MOVW_GOTTPREL_G0_NC,	REL)
127*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSIE_ADR_GOTTPREL_PAGE21,	REL)
128*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSIE_LD64_GOTTPREL_LO12_NC, REL)
129*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSIE_LD_GOTTPREL_PREL19,	REL)
130*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_MOVW_TPREL_G2,	REL)
131*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_MOVW_TPREL_G1,	REL)
132*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_MOVW_TPREL_G1_NC,	REL)
133*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_MOVW_TPREL_G0,	REL)
134*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_MOVW_TPREL_G0_NC,	REL)
135*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_ADD_TPREL_HI12,	REL)
136*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_ADD_TPREL_LO12,	REL)
137*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_ADD_TPREL_LO12_NC,	REL)
138*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_LDST8_TPREL_LO12,	REL)
139*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_LDST8_TPREL_LO12_NC,	REL)
140*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_LDST16_TPREL_LO12,	REL)
141*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_LDST16_TPREL_LO12_NC,	REL)
142*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_LDST32_TPREL_LO12,	REL)
143*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_LDST32_TPREL_LO12_NC,	REL)
144*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_LDST64_TPREL_LO12,	REL)
145*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_LDST64_TPREL_LO12_NC,	REL)
146*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_LDST128_TPREL_LO12,	REL)
147*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSLE_LDST128_TPREL_LO12_NC, REL)
148*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSDESC_LD_PREL19,		REL)
149*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSDESC_ADR_PREL21,		REL)
150*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSDESC_ADR_PAGE21,		REL)
151*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSDESC_LD64_LO12,		REL)
152*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSDESC_ADD_LO12,		REL)
153*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSDESC_OFF_G1,		REL)
154*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSDESC_OFF_G0_NC,		REL)
155*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSDESC_LDR,		REL)
156*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSDESC_ADD,		REL)
157*7304104dSAndroid Build Coastguard WorkerRELOC_TYPE (TLSDESC_CALL,		REL)
158