diff options
Diffstat (limited to 'include/asm-sh/elf.h')
-rw-r--r-- | include/asm-sh/elf.h | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/include/asm-sh/elf.h b/include/asm-sh/elf.h index 1b63dfeea4f2..fc050fd7645e 100644 --- a/include/asm-sh/elf.h +++ b/include/asm-sh/elf.h | |||
@@ -1,6 +1,10 @@ | |||
1 | #ifndef __ASM_SH_ELF_H | 1 | #ifndef __ASM_SH_ELF_H |
2 | #define __ASM_SH_ELF_H | 2 | #define __ASM_SH_ELF_H |
3 | 3 | ||
4 | #include <asm/auxvec.h> | ||
5 | #include <asm/ptrace.h> | ||
6 | #include <asm/user.h> | ||
7 | |||
4 | /* SH relocation types */ | 8 | /* SH relocation types */ |
5 | #define R_SH_NONE 0 | 9 | #define R_SH_NONE 0 |
6 | #define R_SH_DIR32 1 | 10 | #define R_SH_DIR32 1 |
@@ -46,9 +50,6 @@ | |||
46 | * ELF register definitions.. | 50 | * ELF register definitions.. |
47 | */ | 51 | */ |
48 | 52 | ||
49 | #include <asm/ptrace.h> | ||
50 | #include <asm/user.h> | ||
51 | |||
52 | typedef unsigned long elf_greg_t; | 53 | typedef unsigned long elf_greg_t; |
53 | 54 | ||
54 | #define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) | 55 | #define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) |
@@ -91,7 +92,7 @@ typedef struct user_fpu_struct elf_fpregset_t; | |||
91 | instruction set this CPU supports. This could be done in user space, | 92 | instruction set this CPU supports. This could be done in user space, |
92 | but it's not easy, and we've already done it here. */ | 93 | but it's not easy, and we've already done it here. */ |
93 | 94 | ||
94 | #define ELF_HWCAP (0) | 95 | #define ELF_HWCAP (boot_cpu_data.flags) |
95 | 96 | ||
96 | /* This yields a string that ld.so will use to load implementation | 97 | /* This yields a string that ld.so will use to load implementation |
97 | specific libraries for optimization. This is more specific in | 98 | specific libraries for optimization. This is more specific in |
@@ -119,4 +120,24 @@ extern int dump_task_fpu (struct task_struct *, elf_fpregset_t *); | |||
119 | #define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs) dump_task_fpu(tsk, elf_fpregs) | 120 | #define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs) dump_task_fpu(tsk, elf_fpregs) |
120 | #endif | 121 | #endif |
121 | 122 | ||
123 | #ifdef CONFIG_VSYSCALL | ||
124 | /* vDSO has arch_setup_additional_pages */ | ||
125 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES | ||
126 | struct linux_binprm; | ||
127 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, | ||
128 | int executable_stack); | ||
129 | |||
130 | extern unsigned int vdso_enabled; | ||
131 | extern void __kernel_vsyscall; | ||
132 | |||
133 | #define VDSO_BASE ((unsigned long)current->mm->context.vdso) | ||
134 | #define VDSO_SYM(x) (VDSO_BASE + (unsigned long)(x)) | ||
135 | |||
136 | #define ARCH_DLINFO \ | ||
137 | do { \ | ||
138 | if (vdso_enabled) \ | ||
139 | NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_BASE); \ | ||
140 | } while (0) | ||
141 | #endif /* CONFIG_VSYSCALL */ | ||
142 | |||
122 | #endif /* __ASM_SH_ELF_H */ | 143 | #endif /* __ASM_SH_ELF_H */ |