blob: 6c6fbbf85d01f5ba7ea77920d1c2ee7532b51039 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef _ASM_X86_ELF_H
13#define _ASM_X86_ELF_H
Ben Cheng4b29af02012-03-07 16:14:53 -080014
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080015#include <asm/ptrace.h>
16#include <asm/user.h>
17#include <asm/auxvec.h>
Ben Cheng4b29af02012-03-07 16:14:53 -080018
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080019typedef unsigned long elf_greg_t;
Ben Cheng4b29af02012-03-07 16:14:53 -080020
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
22typedef elf_greg_t elf_gregset_t[ELF_NGREG];
Ben Cheng4b29af02012-03-07 16:14:53 -080023
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080024typedef struct user_i387_struct elf_fpregset_t;
Ben Cheng4b29af02012-03-07 16:14:53 -080025
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080026#ifdef __i386__
Ben Cheng4b29af02012-03-07 16:14:53 -080027
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080028typedef struct user_fxsr_struct elf_fpxregset_t;
Ben Cheng4b29af02012-03-07 16:14:53 -080029
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080030#define R_386_NONE 0
31#define R_386_32 1
32#define R_386_PC32 2
33#define R_386_GOT32 3
34#define R_386_PLT32 4
35#define R_386_COPY 5
36#define R_386_GLOB_DAT 6
37#define R_386_JMP_SLOT 7
38#define R_386_RELATIVE 8
39#define R_386_GOTOFF 9
40#define R_386_GOTPC 10
41#define R_386_NUM 11
Ben Cheng4b29af02012-03-07 16:14:53 -080042
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080043#define ELF_CLASS ELFCLASS32
44#define ELF_DATA ELFDATA2LSB
45#define ELF_ARCH EM_386
Ben Cheng4b29af02012-03-07 16:14:53 -080046
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080047#else
Ben Cheng4b29af02012-03-07 16:14:53 -080048
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080049#define R_X86_64_NONE 0
50#define R_X86_64_64 1
51#define R_X86_64_PC32 2
52#define R_X86_64_GOT32 3
53#define R_X86_64_PLT32 4
54#define R_X86_64_COPY 5
55#define R_X86_64_GLOB_DAT 6
56#define R_X86_64_JUMP_SLOT 7
57#define R_X86_64_RELATIVE 8
58#define R_X86_64_GOTPCREL 9
59#define R_X86_64_32 10
60#define R_X86_64_32S 11
61#define R_X86_64_16 12
62#define R_X86_64_PC16 13
63#define R_X86_64_8 14
64#define R_X86_64_PC8 15
Ben Cheng4b29af02012-03-07 16:14:53 -080065
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080066#define R_X86_64_NUM 16
Ben Cheng4b29af02012-03-07 16:14:53 -080067
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080068#define ELF_CLASS ELFCLASS64
69#define ELF_DATA ELFDATA2LSB
70#define ELF_ARCH EM_X86_64
Ben Cheng4b29af02012-03-07 16:14:53 -080071
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080072#endif
Ben Cheng4b29af02012-03-07 16:14:53 -080073
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080074#endif