brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.8 KiB · b6ea563 Raw
239 lines · c
1//===-- MipsFixupKinds.h - Mips Specific Fixup Entries ----------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H10#define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H11 12#include "llvm/MC/MCFixup.h"13 14namespace llvm {15namespace Mips {16// Although most of the current fixup types reflect a unique relocation17// one can have multiple fixup types for a given relocation and thus need18// to be uniquely named.19//20// This table *must* be in the same order of21// MCFixupKindInfo Infos[Mips::NumTargetFixupKinds]22// in MipsAsmBackend.cpp.23//24enum Fixups {25  // Branch fixups resulting in R_MIPS_16.26  fixup_Mips_16 = FirstTargetFixupKind,27 28  // Pure 32 bit data fixup resulting in - R_MIPS_32.29  fixup_Mips_32,30 31  // Full 32 bit data relative data fixup resulting in - R_MIPS_REL32.32  fixup_Mips_REL32,33 34  fixup_Mips_GPREL32,  // R_MIPS_GPREL3235  fixup_Mips_DTPREL32, // R_MIPS_TLS_DTPREL3236  fixup_Mips_DTPREL64, // R_MIPS_TLS_DTPREL6437  fixup_Mips_TPREL32,  // R_MIPS_TLS_TPREL3238  fixup_Mips_TPREL64,  // R_MIPS_TLS_TPREL6439 40  // Jump 26 bit fixup resulting in - R_MIPS_26.41  fixup_Mips_26,42 43  // Pure upper 16 bit fixup resulting in - R_MIPS_HI16.44  fixup_Mips_HI16,45 46  // Pure lower 16 bit fixup resulting in - R_MIPS_LO16.47  fixup_Mips_LO16,48 49  // 16-bit fixup that must be resolved.50  fixup_Mips_AnyImm16,51 52  // 16 bit fixup for GP offest resulting in - R_MIPS_GPREL16.53  fixup_Mips_GPREL16,54 55  // 16 bit literal fixup resulting in - R_MIPS_LITERAL.56  fixup_Mips_LITERAL,57 58  // Symbol fixup resulting in - R_MIPS_GOT16.59  fixup_Mips_GOT,60 61  // PC relative branch fixup resulting in - R_MIPS_PC16.62  fixup_Mips_PC16,63 64  // resulting in - R_MIPS_CALL16.65  fixup_Mips_CALL16,66 67  // resulting in - R_MIPS_SHIFT5.68  fixup_Mips_SHIFT5,69 70  // resulting in - R_MIPS_SHIFT6.71  fixup_Mips_SHIFT6,72 73  // Pure 64 bit data fixup resulting in - R_MIPS_64.74  fixup_Mips_64,75 76  // resulting in - R_MIPS_TLS_GD.77  fixup_Mips_TLSGD,78 79  // resulting in - R_MIPS_TLS_GOTTPREL.80  fixup_Mips_GOTTPREL,81 82  // resulting in - R_MIPS_TLS_TPREL_HI16.83  fixup_Mips_TPREL_HI,84 85  // resulting in - R_MIPS_TLS_TPREL_LO16.86  fixup_Mips_TPREL_LO,87 88  // resulting in - R_MIPS_TLS_LDM.89  fixup_Mips_TLSLDM,90 91  // resulting in - R_MIPS_TLS_DTPREL_HI16.92  fixup_Mips_DTPREL_HI,93 94  // resulting in - R_MIPS_TLS_DTPREL_LO16.95  fixup_Mips_DTPREL_LO,96 97  // PC relative branch fixup resulting in - R_MIPS_PC1698  fixup_Mips_Branch_PCRel,99 100  // resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16101  //                R_MICROMIPS_GPREL16/R_MICROMIPS_SUB/R_MICROMIPS_HI16102  fixup_Mips_GPOFF_HI,103  fixup_MICROMIPS_GPOFF_HI,104 105  // resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16106  //                R_MICROMIPS_GPREL16/R_MICROMIPS_SUB/R_MICROMIPS_LO16107  fixup_Mips_GPOFF_LO,108  fixup_MICROMIPS_GPOFF_LO,109 110  // resulting in - R_MIPS_PAGE111  fixup_Mips_GOT_PAGE,112 113  // resulting in - R_MIPS_GOT_OFST114  fixup_Mips_GOT_OFST,115 116  // resulting in - R_MIPS_GOT_DISP117  fixup_Mips_GOT_DISP,118 119  // resulting in - R_MIPS_HIGHER/R_MICROMIPS_HIGHER120  fixup_Mips_HIGHER,121  fixup_MICROMIPS_HIGHER,122 123  // resulting in - R_MIPS_HIGHEST/R_MICROMIPS_HIGHEST124  fixup_Mips_HIGHEST,125  fixup_MICROMIPS_HIGHEST,126 127  // resulting in - R_MIPS_GOT_HI16128  fixup_Mips_GOT_HI16,129 130  // resulting in - R_MIPS_GOT_LO16131  fixup_Mips_GOT_LO16,132 133  // resulting in - R_MIPS_CALL_HI16134  fixup_Mips_CALL_HI16,135 136  // resulting in - R_MIPS_CALL_LO16137  fixup_Mips_CALL_LO16,138 139  // resulting in - R_MIPS_PC18_S3140  fixup_MIPS_PC18_S3,141 142  // resulting in - R_MIPS_PC19_S2143  fixup_MIPS_PC19_S2,144 145  // resulting in - R_MIPS_PC21_S2146  fixup_MIPS_PC21_S2,147 148  // resulting in - R_MIPS_PC26_S2149  fixup_MIPS_PC26_S2,150 151  // resulting in - R_MIPS_PCHI16152  fixup_MIPS_PCHI16,153 154  // resulting in - R_MIPS_PCLO16155  fixup_MIPS_PCLO16,156 157  // resulting in - R_MICROMIPS_26_S1158  fixup_MICROMIPS_26_S1,159 160  // resulting in - R_MICROMIPS_HI16161  fixup_MICROMIPS_HI16,162 163  // resulting in - R_MICROMIPS_LO16164  fixup_MICROMIPS_LO16,165 166  // resulting in - R_MICROMIPS_GOT16167  fixup_MICROMIPS_GOT16,168 169  // resulting in - R_MICROMIPS_PC7_S1170  fixup_MICROMIPS_PC7_S1,171 172  // resulting in - R_MICROMIPS_PC10_S1173  fixup_MICROMIPS_PC10_S1,174 175  // resulting in - R_MICROMIPS_PC16_S1176  fixup_MICROMIPS_PC16_S1,177 178  // resulting in - R_MICROMIPS_PC26_S1179  fixup_MICROMIPS_PC26_S1,180 181  // resulting in - R_MICROMIPS_PC19_S2182  fixup_MICROMIPS_PC19_S2,183 184  // resulting in - R_MICROMIPS_PC18_S3185  fixup_MICROMIPS_PC18_S3,186 187  // resulting in - R_MICROMIPS_PC21_S1188  fixup_MICROMIPS_PC21_S1,189 190  // resulting in - R_MICROMIPS_CALL16191  fixup_MICROMIPS_CALL16,192 193  // resulting in - R_MICROMIPS_GOT_DISP194  fixup_MICROMIPS_GOT_DISP,195 196  // resulting in - R_MICROMIPS_GOT_PAGE197  fixup_MICROMIPS_GOT_PAGE,198 199  // resulting in - R_MICROMIPS_GOT_OFST200  fixup_MICROMIPS_GOT_OFST,201 202  // resulting in - R_MICROMIPS_TLS_GD203  fixup_MICROMIPS_TLS_GD,204 205  // resulting in - R_MICROMIPS_TLS_LDM206  fixup_MICROMIPS_TLS_LDM,207 208  // resulting in - R_MICROMIPS_TLS_DTPREL_HI16209  fixup_MICROMIPS_TLS_DTPREL_HI16,210 211  // resulting in - R_MICROMIPS_TLS_DTPREL_LO16212  fixup_MICROMIPS_TLS_DTPREL_LO16,213 214  // resulting in - R_MICROMIPS_TLS_GOTTPREL.215  fixup_MICROMIPS_GOTTPREL,216 217  // resulting in - R_MICROMIPS_TLS_TPREL_HI16218  fixup_MICROMIPS_TLS_TPREL_HI16,219 220  // resulting in - R_MICROMIPS_TLS_TPREL_LO16221  fixup_MICROMIPS_TLS_TPREL_LO16,222 223  // resulting in - R_MIPS_SUB/R_MICROMIPS_SUB224  fixup_Mips_SUB,225  fixup_MICROMIPS_SUB,226 227  // resulting in - R_MIPS_JALR/R_MICROMIPS_JALR228  fixup_Mips_JALR,229  fixup_MICROMIPS_JALR,230 231  // Marker232  LastTargetFixupKind,233  NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind234};235} // namespace Mips236} // namespace llvm237 238#endif239