2012-02-24 10:15:57 +08:00
|
|
|
//===-- MipsFixupKinds.h - Mips Specific Fixup Entries ----------*- C++ -*-===//
|
2011-10-14 10:38:56 +08:00
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2014-08-14 00:26:38 +08:00
|
|
|
#ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H
|
|
|
|
#define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H
|
2011-10-14 10:38:56 +08:00
|
|
|
|
|
|
|
#include "llvm/MC/MCFixup.h"
|
|
|
|
|
|
|
|
namespace llvm {
|
|
|
|
namespace Mips {
|
2011-12-08 06:35:30 +08:00
|
|
|
// Although most of the current fixup types reflect a unique relocation
|
|
|
|
// one can have multiple fixup types for a given relocation and thus need
|
|
|
|
// to be uniquely named.
|
|
|
|
//
|
2015-03-13 20:45:09 +08:00
|
|
|
// This table *must* be in the same order of
|
2011-12-08 06:35:30 +08:00
|
|
|
// MCFixupKindInfo Infos[Mips::NumTargetFixupKinds]
|
|
|
|
// in MipsAsmBackend.cpp.
|
|
|
|
//
|
|
|
|
enum Fixups {
|
|
|
|
// Branch fixups resulting in R_MIPS_16.
|
|
|
|
fixup_Mips_16 = FirstTargetFixupKind,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// Pure 32 bit data fixup resulting in - R_MIPS_32.
|
|
|
|
fixup_Mips_32,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// Full 32 bit data relative data fixup resulting in - R_MIPS_REL32.
|
|
|
|
fixup_Mips_REL32,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// Jump 26 bit fixup resulting in - R_MIPS_26.
|
|
|
|
fixup_Mips_26,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// Pure upper 16 bit fixup resulting in - R_MIPS_HI16.
|
|
|
|
fixup_Mips_HI16,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// Pure lower 16 bit fixup resulting in - R_MIPS_LO16.
|
|
|
|
fixup_Mips_LO16,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// 16 bit fixup for GP offest resulting in - R_MIPS_GPREL16.
|
|
|
|
fixup_Mips_GPREL16,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// 16 bit literal fixup resulting in - R_MIPS_LITERAL.
|
|
|
|
fixup_Mips_LITERAL,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// Global symbol fixup resulting in - R_MIPS_GOT16.
|
|
|
|
fixup_Mips_GOT_Global,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// Local symbol fixup resulting in - R_MIPS_GOT16.
|
|
|
|
fixup_Mips_GOT_Local,
|
2011-12-07 08:28:57 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// PC relative branch fixup resulting in - R_MIPS_PC16.
|
|
|
|
fixup_Mips_PC16,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// resulting in - R_MIPS_CALL16.
|
|
|
|
fixup_Mips_CALL16,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// resulting in - R_MIPS_GPREL32.
|
|
|
|
fixup_Mips_GPREL32,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// resulting in - R_MIPS_SHIFT5.
|
|
|
|
fixup_Mips_SHIFT5,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// resulting in - R_MIPS_SHIFT6.
|
|
|
|
fixup_Mips_SHIFT6,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// Pure 64 bit data fixup resulting in - R_MIPS_64.
|
|
|
|
fixup_Mips_64,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// resulting in - R_MIPS_TLS_GD.
|
|
|
|
fixup_Mips_TLSGD,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// resulting in - R_MIPS_TLS_GOTTPREL.
|
|
|
|
fixup_Mips_GOTTPREL,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// resulting in - R_MIPS_TLS_TPREL_HI16.
|
|
|
|
fixup_Mips_TPREL_HI,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// resulting in - R_MIPS_TLS_TPREL_LO16.
|
|
|
|
fixup_Mips_TPREL_LO,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2011-12-22 09:05:17 +08:00
|
|
|
// resulting in - R_MIPS_TLS_LDM.
|
|
|
|
fixup_Mips_TLSLDM,
|
|
|
|
|
|
|
|
// resulting in - R_MIPS_TLS_DTPREL_HI16.
|
|
|
|
fixup_Mips_DTPREL_HI,
|
|
|
|
|
|
|
|
// resulting in - R_MIPS_TLS_DTPREL_LO16.
|
|
|
|
fixup_Mips_DTPREL_LO,
|
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// PC relative branch fixup resulting in - R_MIPS_PC16
|
|
|
|
fixup_Mips_Branch_PCRel,
|
2011-10-14 10:38:56 +08:00
|
|
|
|
2012-06-28 06:48:25 +08:00
|
|
|
// resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16
|
|
|
|
fixup_Mips_GPOFF_HI,
|
|
|
|
|
|
|
|
// resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16
|
|
|
|
fixup_Mips_GPOFF_LO,
|
|
|
|
|
|
|
|
// resulting in - R_MIPS_PAGE
|
|
|
|
fixup_Mips_GOT_PAGE,
|
|
|
|
|
|
|
|
// resulting in - R_MIPS_GOT_OFST
|
|
|
|
fixup_Mips_GOT_OFST,
|
|
|
|
|
2012-07-14 03:15:47 +08:00
|
|
|
// resulting in - R_MIPS_GOT_DISP
|
|
|
|
fixup_Mips_GOT_DISP,
|
|
|
|
|
2012-08-07 05:26:03 +08:00
|
|
|
// resulting in - R_MIPS_GOT_HIGHER
|
|
|
|
fixup_Mips_HIGHER,
|
|
|
|
|
|
|
|
// resulting in - R_MIPS_HIGHEST
|
|
|
|
fixup_Mips_HIGHEST,
|
|
|
|
|
2012-11-22 07:38:59 +08:00
|
|
|
// resulting in - R_MIPS_GOT_HI16
|
|
|
|
fixup_Mips_GOT_HI16,
|
|
|
|
|
|
|
|
// resulting in - R_MIPS_GOT_LO16
|
|
|
|
fixup_Mips_GOT_LO16,
|
|
|
|
|
|
|
|
// resulting in - R_MIPS_CALL_HI16
|
|
|
|
fixup_Mips_CALL_HI16,
|
|
|
|
|
|
|
|
// resulting in - R_MIPS_CALL_LO16
|
|
|
|
fixup_Mips_CALL_LO16,
|
|
|
|
|
2014-06-13 22:26:47 +08:00
|
|
|
// resulting in - R_MIPS_PC18_S3
|
|
|
|
fixup_MIPS_PC18_S3,
|
|
|
|
|
2014-06-12 20:40:00 +08:00
|
|
|
// resulting in - R_MIPS_PC19_S2
|
|
|
|
fixup_MIPS_PC19_S2,
|
|
|
|
|
2014-05-27 20:55:40 +08:00
|
|
|
// resulting in - R_MIPS_PC21_S2
|
|
|
|
fixup_MIPS_PC21_S2,
|
|
|
|
|
|
|
|
// resulting in - R_MIPS_PC26_S2
|
|
|
|
fixup_MIPS_PC26_S2,
|
|
|
|
|
2014-05-27 22:58:51 +08:00
|
|
|
// resulting in - R_MIPS_PCHI16
|
|
|
|
fixup_MIPS_PCHI16,
|
|
|
|
|
|
|
|
// resulting in - R_MIPS_PCLO16
|
|
|
|
fixup_MIPS_PCLO16,
|
|
|
|
|
2013-10-30 00:38:59 +08:00
|
|
|
// resulting in - R_MICROMIPS_26_S1
|
|
|
|
fixup_MICROMIPS_26_S1,
|
|
|
|
|
2013-10-24 00:14:44 +08:00
|
|
|
// resulting in - R_MICROMIPS_HI16
|
|
|
|
fixup_MICROMIPS_HI16,
|
|
|
|
|
|
|
|
// resulting in - R_MICROMIPS_LO16
|
|
|
|
fixup_MICROMIPS_LO16,
|
|
|
|
|
|
|
|
// resulting in - R_MICROMIPS_GOT16
|
|
|
|
fixup_MICROMIPS_GOT16,
|
|
|
|
|
2015-01-12 20:03:34 +08:00
|
|
|
// resulting in - R_MICROMIPS_PC7_S1
|
|
|
|
fixup_MICROMIPS_PC7_S1,
|
|
|
|
|
2015-01-21 20:39:30 +08:00
|
|
|
// resulting in - R_MICROMIPS_PC10_S1
|
|
|
|
fixup_MICROMIPS_PC10_S1,
|
|
|
|
|
2013-11-04 22:53:22 +08:00
|
|
|
// resulting in - R_MICROMIPS_PC16_S1
|
|
|
|
fixup_MICROMIPS_PC16_S1,
|
|
|
|
|
2013-10-24 00:14:44 +08:00
|
|
|
// resulting in - R_MICROMIPS_CALL16
|
|
|
|
fixup_MICROMIPS_CALL16,
|
|
|
|
|
|
|
|
// resulting in - R_MICROMIPS_GOT_DISP
|
|
|
|
fixup_MICROMIPS_GOT_DISP,
|
|
|
|
|
|
|
|
// resulting in - R_MICROMIPS_GOT_PAGE
|
|
|
|
fixup_MICROMIPS_GOT_PAGE,
|
|
|
|
|
|
|
|
// resulting in - R_MICROMIPS_GOT_OFST
|
|
|
|
fixup_MICROMIPS_GOT_OFST,
|
|
|
|
|
2013-12-20 00:02:32 +08:00
|
|
|
// resulting in - R_MICROMIPS_TLS_GD
|
|
|
|
fixup_MICROMIPS_TLS_GD,
|
|
|
|
|
|
|
|
// resulting in - R_MICROMIPS_TLS_LDM
|
|
|
|
fixup_MICROMIPS_TLS_LDM,
|
|
|
|
|
2013-10-24 00:14:44 +08:00
|
|
|
// resulting in - R_MICROMIPS_TLS_DTPREL_HI16
|
|
|
|
fixup_MICROMIPS_TLS_DTPREL_HI16,
|
|
|
|
|
|
|
|
// resulting in - R_MICROMIPS_TLS_DTPREL_LO16
|
|
|
|
fixup_MICROMIPS_TLS_DTPREL_LO16,
|
|
|
|
|
|
|
|
// resulting in - R_MICROMIPS_TLS_TPREL_HI16
|
|
|
|
fixup_MICROMIPS_TLS_TPREL_HI16,
|
|
|
|
|
|
|
|
// resulting in - R_MICROMIPS_TLS_TPREL_LO16
|
|
|
|
fixup_MICROMIPS_TLS_TPREL_LO16,
|
|
|
|
|
2011-12-08 06:35:30 +08:00
|
|
|
// Marker
|
|
|
|
LastTargetFixupKind,
|
|
|
|
NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
|
|
|
|
};
|
2011-10-14 10:38:56 +08:00
|
|
|
} // namespace Mips
|
2011-10-18 15:40:22 +08:00
|
|
|
} // namespace llvm
|
2011-10-14 10:38:56 +08:00
|
|
|
|
|
|
|
|
2014-08-14 00:26:38 +08:00
|
|
|
#endif
|