Go to the documentation of this file. 1 #ifndef __ASMm68k_ELF_H
2 #define __ASMm68k_ELF_H
8 #include <asm/ptrace.h>
24 #define R_68K_GOT32O 10
25 #define R_68K_GOT16O 11
26 #define R_68K_GOT8O 12
27 #define R_68K_PLT32 13
28 #define R_68K_PLT16 14
30 #define R_68K_PLT32O 16
31 #define R_68K_PLT16O 17
32 #define R_68K_PLT8O 18
34 #define R_68K_GLOB_DAT 20
35 #define R_68K_JMP_SLOT 21
36 #define R_68K_RELATIVE 22
40 #define ELF_NGREG (sizeof(struct user_regs_struct) / sizeof(elf_greg_t))
48 #define elf_check_arch(x) ((x)->e_machine == EM_68K)
53 #define ELF_CLASS ELFCLASS32
54 #define ELF_DATA ELFDATA2MSB
55 #define ELF_ARCH EM_68K
60 #define ELF_PLAT_INIT(_r, load_addr) _r->a1 = 0
62 #if defined(CONFIG_SUN3) || defined(CONFIG_COLDFIRE)
63 #define ELF_EXEC_PAGESIZE 8192
65 #define ELF_EXEC_PAGESIZE 4096
74 #define ELF_ET_DYN_BASE 0xD0000000UL
76 #define ELF_ET_DYN_BASE 0x0D800000UL
79 #define ELF_CORE_COPY_REGS(pr_reg, regs) \
81 pr_reg[0] = regs->d1; \
82 pr_reg[1] = regs->d2; \
83 pr_reg[2] = regs->d3; \
84 pr_reg[3] = regs->d4; \
85 pr_reg[4] = regs->d5; \
86 pr_reg[7] = regs->a0; \
87 pr_reg[8] = regs->a1; \
88 pr_reg[9] = regs->a2; \
89 pr_reg[14] = regs->d0; \
90 pr_reg[15] = rdusp(); \
91 pr_reg[16] = regs->orig_d0; \
92 pr_reg[17] = regs->sr; \
93 pr_reg[18] = regs->pc; \
94 pr_reg[19] = (regs->format << 12) | regs->vector; \
96 struct switch_stack *sw = ((struct switch_stack *)regs) - 1; \
99 pr_reg[10] = sw->a3; \
100 pr_reg[11] = sw->a4; \
101 pr_reg[12] = sw->a5; \
102 pr_reg[13] = sw->a6; \
108 #define ELF_HWCAP (0)
114 #define ELF_PLATFORM (NULL)
116 #define SET_PERSONALITY(ex) \
117 set_personality(PER_LINUX | (current->personality & (~PER_MASK)))