1 //===-- MipsFixupKinds.h - Mips Specific Fixup Entries ----------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H
11 #define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H
13 #include "llvm/MC/MCFixup.h"
17 // Although most of the current fixup types reflect a unique relocation
18 // one can have multiple fixup types for a given relocation and thus need
19 // to be uniquely named.
21 // This table *must* be in the same order of
22 // MCFixupKindInfo Infos[Mips::NumTargetFixupKinds]
23 // in MipsAsmBackend.cpp.
26 // Branch fixups resulting in R_MIPS_NONE.
27 fixup_Mips_NONE = FirstTargetFixupKind,
29 // Branch fixups resulting in R_MIPS_16.
32 // Pure 32 bit data fixup resulting in - R_MIPS_32.
35 // Full 32 bit data relative data fixup resulting in - R_MIPS_REL32.
38 // Jump 26 bit fixup resulting in - R_MIPS_26.
41 // Pure upper 16 bit fixup resulting in - R_MIPS_HI16.
44 // Pure lower 16 bit fixup resulting in - R_MIPS_LO16.
47 // 16 bit fixup for GP offest resulting in - R_MIPS_GPREL16.
50 // 16 bit literal fixup resulting in - R_MIPS_LITERAL.
53 // Global symbol fixup resulting in - R_MIPS_GOT16.
54 fixup_Mips_GOT_Global,
56 // Local symbol fixup resulting in - R_MIPS_GOT16.
59 // PC relative branch fixup resulting in - R_MIPS_PC16.
62 // resulting in - R_MIPS_CALL16.
65 // resulting in - R_MIPS_GPREL32.
68 // resulting in - R_MIPS_SHIFT5.
71 // resulting in - R_MIPS_SHIFT6.
74 // Pure 64 bit data fixup resulting in - R_MIPS_64.
77 // resulting in - R_MIPS_TLS_GD.
80 // resulting in - R_MIPS_TLS_GOTTPREL.
83 // resulting in - R_MIPS_TLS_TPREL_HI16.
86 // resulting in - R_MIPS_TLS_TPREL_LO16.
89 // resulting in - R_MIPS_TLS_LDM.
92 // resulting in - R_MIPS_TLS_DTPREL_HI16.
95 // resulting in - R_MIPS_TLS_DTPREL_LO16.
98 // PC relative branch fixup resulting in - R_MIPS_PC16
99 fixup_Mips_Branch_PCRel,
101 // resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16
104 // resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16
107 // resulting in - R_MIPS_PAGE
110 // resulting in - R_MIPS_GOT_OFST
113 // resulting in - R_MIPS_GOT_DISP
116 // resulting in - R_MIPS_GOT_HIGHER
119 // resulting in - R_MIPS_HIGHEST
122 // resulting in - R_MIPS_GOT_HI16
125 // resulting in - R_MIPS_GOT_LO16
128 // resulting in - R_MIPS_CALL_HI16
129 fixup_Mips_CALL_HI16,
131 // resulting in - R_MIPS_CALL_LO16
132 fixup_Mips_CALL_LO16,
134 // resulting in - R_MIPS_PC18_S3
137 // resulting in - R_MIPS_PC19_S2
140 // resulting in - R_MIPS_PC21_S2
143 // resulting in - R_MIPS_PC26_S2
146 // resulting in - R_MIPS_PCHI16
149 // resulting in - R_MIPS_PCLO16
152 // resulting in - R_MICROMIPS_26_S1
153 fixup_MICROMIPS_26_S1,
155 // resulting in - R_MICROMIPS_HI16
156 fixup_MICROMIPS_HI16,
158 // resulting in - R_MICROMIPS_LO16
159 fixup_MICROMIPS_LO16,
161 // resulting in - R_MICROMIPS_GOT16
162 fixup_MICROMIPS_GOT16,
164 // resulting in - R_MICROMIPS_PC7_S1
165 fixup_MICROMIPS_PC7_S1,
167 // resulting in - R_MICROMIPS_PC10_S1
168 fixup_MICROMIPS_PC10_S1,
170 // resulting in - R_MICROMIPS_PC16_S1
171 fixup_MICROMIPS_PC16_S1,
173 // resulting in - R_MICROMIPS_CALL16
174 fixup_MICROMIPS_CALL16,
176 // resulting in - R_MICROMIPS_GOT_DISP
177 fixup_MICROMIPS_GOT_DISP,
179 // resulting in - R_MICROMIPS_GOT_PAGE
180 fixup_MICROMIPS_GOT_PAGE,
182 // resulting in - R_MICROMIPS_GOT_OFST
183 fixup_MICROMIPS_GOT_OFST,
185 // resulting in - R_MICROMIPS_TLS_GD
186 fixup_MICROMIPS_TLS_GD,
188 // resulting in - R_MICROMIPS_TLS_LDM
189 fixup_MICROMIPS_TLS_LDM,
191 // resulting in - R_MICROMIPS_TLS_DTPREL_HI16
192 fixup_MICROMIPS_TLS_DTPREL_HI16,
194 // resulting in - R_MICROMIPS_TLS_DTPREL_LO16
195 fixup_MICROMIPS_TLS_DTPREL_LO16,
197 // resulting in - R_MICROMIPS_TLS_TPREL_HI16
198 fixup_MICROMIPS_TLS_TPREL_HI16,
200 // resulting in - R_MICROMIPS_TLS_TPREL_LO16
201 fixup_MICROMIPS_TLS_TPREL_LO16,
205 NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind