elf-ppc.h 1.1 KB

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