Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
[linux-2.6] / include / asm-um / elf-ppc.h
1 #ifndef __UM_ELF_PPC_H
2 #define __UM_ELF_PPC_H
3
4 #include "linux/config.h"
5
6 extern long elf_aux_hwcap;
7 #define ELF_HWCAP (elf_aux_hwcap)
8
9 #define SET_PERSONALITY(ex, ibcs2) do ; while(0)
10
11 #define ELF_EXEC_PAGESIZE 4096
12
13 #define elf_check_arch(x) (1)
14
15 #ifdef CONFIG_64_BIT
16 #define ELF_CLASS ELFCLASS64
17 #else
18 #define ELF_CLASS ELFCLASS32
19 #endif
20
21 #define USE_ELF_CORE_DUMP
22
23 #define R_386_NONE      0
24 #define R_386_32        1
25 #define R_386_PC32      2
26 #define R_386_GOT32     3
27 #define R_386_PLT32     4
28 #define R_386_COPY      5
29 #define R_386_GLOB_DAT  6
30 #define R_386_JMP_SLOT  7
31 #define R_386_RELATIVE  8
32 #define R_386_GOTOFF    9
33 #define R_386_GOTPC     10
34 #define R_386_NUM       11
35
36 #define ELF_PLATFORM (0)
37
38 #define ELF_ET_DYN_BASE (0x08000000)
39
40 /* the following stolen from asm-ppc/elf.h */
41 #define ELF_NGREG       48      /* includes nip, msr, lr, etc. */
42 #define ELF_NFPREG      33      /* includes fpscr */
43 /* General registers */
44 typedef unsigned long elf_greg_t;
45 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
46
47 /* Floating point registers */
48 typedef double elf_fpreg_t;
49 typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
50
51 #define ELF_DATA        ELFDATA2MSB
52 #define ELF_ARCH        EM_PPC
53
54 #endif