blob: 2998cf925042886e1bca6667beda08a6ad039727 [file] [log] [blame]
Bodo Stroesserdbc35cc72005-05-05 16:15:35 -07001#ifndef __UM_ELF_PPC_H
2#define __UM_ELF_PPC_H
3
4#include "linux/config.h"
5
6extern 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 */
44typedef unsigned long elf_greg_t;
45typedef elf_greg_t elf_gregset_t[ELF_NGREG];
46
47/* Floating point registers */
48typedef double elf_fpreg_t;
49typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
50
51#define ELF_DATA ELFDATA2MSB
52#define ELF_ARCH EM_PPC
53
54#endif