1 //===- X86RelocationFunction.h --------------------------------------------===// 2 // 3 // The MCLinker Project 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #define DECL_X86_APPLY_RELOC_FUNC(Name) \ 11 static X86RelocationFactory::Result Name (Relocation& pEntry, \ 12 const MCLDInfo& pLDInfo, \ 13 X86RelocationFactory& pParent); 14 15 #define DECL_X86_APPLY_RELOC_FUNCS \ 16 DECL_X86_APPLY_RELOC_FUNC(none) \ 17 DECL_X86_APPLY_RELOC_FUNC(abs32) \ 18 DECL_X86_APPLY_RELOC_FUNC(rel32) \ 19 DECL_X86_APPLY_RELOC_FUNC(plt32) \ 20 DECL_X86_APPLY_RELOC_FUNC(got32) \ 21 DECL_X86_APPLY_RELOC_FUNC(gotoff32) \ 22 DECL_X86_APPLY_RELOC_FUNC(gotpc32) 23 24 25 #define DECL_X86_APPLY_RELOC_FUNC_PTRS \ 26 { &none, 0, "R_386_NONE" }, \ 27 { &abs32, 1, "R_386_32" }, \ 28 { &rel32, 2, "R_386_PC32" }, \ 29 { &got32, 3, "R_386_GOT32" }, \ 30 { &plt32, 4, "R_386_PLT32" }, \ 31 { &none, 5, "R_386_COPY" }, \ 32 { &none, 6, "R_386_GLOB_DAT" }, \ 33 { &none, 7, "R_386_JMP_SLOT" }, \ 34 { &none, 8, "R_386_RELATIVE" }, \ 35 { &gotoff32, 9, "R_386_GOTOFF" }, \ 36 { &gotpc32, 10, "R_386_GOTPC" } 37