aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-um/elf-x86_64.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-um/elf-x86_64.h')
-rw-r--r--include/asm-um/elf-x86_64.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/include/asm-um/elf-x86_64.h b/include/asm-um/elf-x86_64.h
index 19309d001aa0..8a8246d03936 100644
--- a/include/asm-um/elf-x86_64.h
+++ b/include/asm-um/elf-x86_64.h
@@ -8,6 +8,27 @@
8 8
9#include <asm/user.h> 9#include <asm/user.h>
10 10
11/* x86-64 relocation types, taken from asm-x86_64/elf.h */
12#define R_X86_64_NONE 0 /* No reloc */
13#define R_X86_64_64 1 /* Direct 64 bit */
14#define R_X86_64_PC32 2 /* PC relative 32 bit signed */
15#define R_X86_64_GOT32 3 /* 32 bit GOT entry */
16#define R_X86_64_PLT32 4 /* 32 bit PLT address */
17#define R_X86_64_COPY 5 /* Copy symbol at runtime */
18#define R_X86_64_GLOB_DAT 6 /* Create GOT entry */
19#define R_X86_64_JUMP_SLOT 7 /* Create PLT entry */
20#define R_X86_64_RELATIVE 8 /* Adjust by program base */
21#define R_X86_64_GOTPCREL 9 /* 32 bit signed pc relative
22 offset to GOT */
23#define R_X86_64_32 10 /* Direct 32 bit zero extended */
24#define R_X86_64_32S 11 /* Direct 32 bit sign extended */
25#define R_X86_64_16 12 /* Direct 16 bit zero extended */
26#define R_X86_64_PC16 13 /* 16 bit sign extended pc relative */
27#define R_X86_64_8 14 /* Direct 8 bit sign extended */
28#define R_X86_64_PC8 15 /* 8 bit sign extended pc relative */
29
30#define R_X86_64_NUM 16
31
11typedef unsigned long elf_greg_t; 32typedef unsigned long elf_greg_t;
12 33
13#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t)) 34#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
@@ -44,7 +65,8 @@ typedef struct { } elf_fpregset_t;
44} while (0) 65} while (0)
45 66
46#ifdef TIF_IA32 /* XXX */ 67#ifdef TIF_IA32 /* XXX */
47 clear_thread_flag(TIF_IA32); \ 68#error XXX, indeed
69 clear_thread_flag(TIF_IA32);
48#endif 70#endif
49 71
50#define USE_ELF_CORE_DUMP 72#define USE_ELF_CORE_DUMP