1 //===-- X86FixupKinds.h - X86 Specific Fixup Entries ------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86FIXUPKINDS_H 11 #define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86FIXUPKINDS_H 12 13 #include "llvm/MC/MCFixup.h" 14 15 namespace llvm { 16 namespace X86 { 17 enum Fixups { 18 reloc_riprel_4byte = FirstTargetFixupKind, // 32-bit rip-relative 19 reloc_riprel_4byte_movq_load, // 32-bit rip-relative in movq 20 reloc_riprel_4byte_relax, // 32-bit rip-relative in relaxable 21 // instruction 22 reloc_riprel_4byte_relax_rex, // 32-bit rip-relative in relaxable 23 // instruction with rex prefix 24 reloc_signed_4byte, // 32-bit signed. Unlike FK_Data_4 25 // this will be sign extended at 26 // runtime. 27 reloc_signed_4byte_relax, // like reloc_signed_4byte, but 28 // in a relaxable instruction. 29 reloc_global_offset_table, // 32-bit, relative to the start 30 // of the instruction. Used only 31 // for _GLOBAL_OFFSET_TABLE_. 32 reloc_global_offset_table8, // 64-bit variant. 33 // Marker 34 LastTargetFixupKind, 35 NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind 36 }; 37 } 38 } 39 40 #endif 41