2004-11-21 07:54:19 +08:00
|
|
|
//===- X86Relocations.h - X86 Code Relocations ------------------*- C++ -*-===//
|
2005-04-22 07:38:14 +08:00
|
|
|
//
|
2004-11-21 07:54:19 +08:00
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
2007-12-30 04:36:04 +08:00
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
2005-04-22 07:38:14 +08:00
|
|
|
//
|
2004-11-21 07:54:19 +08:00
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
|
|
|
// This file defines the X86 target-specific relocation types.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#ifndef X86RELOCATIONS_H
|
|
|
|
#define X86RELOCATIONS_H
|
|
|
|
|
|
|
|
#include "llvm/CodeGen/MachineRelocation.h"
|
|
|
|
|
|
|
|
namespace llvm {
|
|
|
|
namespace X86 {
|
2008-10-24 09:57:54 +08:00
|
|
|
/// RelocationType - An enum for the x86 relocation codes. Note that
|
|
|
|
/// the terminology here doesn't follow x86 convention - word means
|
|
|
|
/// 32-bit and dword means 64-bit.
|
2004-11-21 07:54:19 +08:00
|
|
|
enum RelocationType {
|
|
|
|
// reloc_pcrel_word - PC relative relocation, add the relocated value to
|
|
|
|
// the value already in memory, after we adjust it for where the PC is.
|
|
|
|
reloc_pcrel_word = 0,
|
|
|
|
|
2007-12-22 17:40:20 +08:00
|
|
|
// reloc_picrel_word - PIC base relative relocation, add the relocated
|
|
|
|
// value to the value already in memory, after we adjust it for where the
|
|
|
|
// PIC base is.
|
|
|
|
reloc_picrel_word = 1,
|
|
|
|
|
2006-12-05 12:01:03 +08:00
|
|
|
// reloc_absolute_word, reloc_absolute_dword - Absolute relocation, just
|
|
|
|
// add the relocated value to the value already in memory.
|
2007-12-22 17:40:20 +08:00
|
|
|
reloc_absolute_word = 2,
|
|
|
|
reloc_absolute_dword = 3
|
2004-11-21 07:54:19 +08:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|