131d157ae1ac2cd9c787dc3c1d28e64c682803844Jia Liu//===-- X86FixupKinds.h - X86 Specific Fixup Entries ------------*- C++ -*-===// 2a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar// 3a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar// The LLVM Compiler Infrastructure 4a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar// 5a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar// This file is distributed under the University of Illinois Open Source 6a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar// License. See LICENSE.TXT for details. 7a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar// 8a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar//===----------------------------------------------------------------------===// 9a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar 1037ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines#ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86FIXUPKINDS_H 1137ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines#define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86FIXUPKINDS_H 12a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar 13a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar#include "llvm/MC/MCFixup.h" 14a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar 15a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbarnamespace llvm { 16a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbarnamespace X86 { 17a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbarenum Fixups { 18e04ed7e45f194f14a7b28bbf3f55694d8e2bcf80Rafael Espindola reloc_riprel_4byte = FirstTargetFixupKind, // 32-bit rip-relative 19a8c02c3bdd68e65d14fb6b0d56989663754059b0Rafael Espindola reloc_riprel_4byte_movq_load, // 32-bit rip-relative in movq 2024ba4f7f5f27c8d64be7ad653863b33594e5f019Rafael Espindola reloc_signed_4byte, // 32-bit signed. Unlike FK_Data_4 21a8c02c3bdd68e65d14fb6b0d56989663754059b0Rafael Espindola // this will be sign extended at 22a8c02c3bdd68e65d14fb6b0d56989663754059b0Rafael Espindola // runtime. 232761fc427082215c2affcc9d8db8491400bc9e5dDaniel Dunbar reloc_global_offset_table, // 32-bit, relative to the start 2424ba4f7f5f27c8d64be7ad653863b33594e5f019Rafael Espindola // of the instruction. Used only 2524ba4f7f5f27c8d64be7ad653863b33594e5f019Rafael Espindola // for _GLOBAL_OFFSET_TABLE_. 26dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines reloc_global_offset_table8, // 64-bit variant. 272761fc427082215c2affcc9d8db8491400bc9e5dDaniel Dunbar // Marker 282761fc427082215c2affcc9d8db8491400bc9e5dDaniel Dunbar LastTargetFixupKind, 292761fc427082215c2affcc9d8db8491400bc9e5dDaniel Dunbar NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind 30a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar}; 31a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar} 32a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar} 33a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar 34a8dfb79e6f9311ddb6b9869fb20bef3c99fdfb24Daniel Dunbar#endif 35