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