diff options
Diffstat (limited to 'include/asm-i386/elf.h')
-rw-r--r-- | include/asm-i386/elf.h | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/include/asm-i386/elf.h b/include/asm-i386/elf.h index 952b3ee3c9bb..b32df3a332da 100644 --- a/include/asm-i386/elf.h +++ b/include/asm-i386/elf.h | |||
@@ -9,8 +9,6 @@ | |||
9 | #include <asm/user.h> | 9 | #include <asm/user.h> |
10 | #include <asm/auxvec.h> | 10 | #include <asm/auxvec.h> |
11 | 11 | ||
12 | #include <linux/utsname.h> | ||
13 | |||
14 | #define R_386_NONE 0 | 12 | #define R_386_NONE 0 |
15 | #define R_386_32 1 | 13 | #define R_386_32 1 |
16 | #define R_386_PC32 2 | 14 | #define R_386_PC32 2 |
@@ -133,39 +131,31 @@ extern int dump_task_extended_fpu (struct task_struct *, struct user_fxsr_struct | |||
133 | #define ELF_CORE_COPY_XFPREGS(tsk, elf_xfpregs) dump_task_extended_fpu(tsk, elf_xfpregs) | 131 | #define ELF_CORE_COPY_XFPREGS(tsk, elf_xfpregs) dump_task_extended_fpu(tsk, elf_xfpregs) |
134 | 132 | ||
135 | #define VDSO_HIGH_BASE (__fix_to_virt(FIX_VDSO)) | 133 | #define VDSO_HIGH_BASE (__fix_to_virt(FIX_VDSO)) |
136 | #define VDSO_BASE ((unsigned long)current->mm->context.vdso) | 134 | #define VDSO_CURRENT_BASE ((unsigned long)current->mm->context.vdso) |
137 | 135 | #define VDSO_PRELINK 0 | |
138 | #ifdef CONFIG_COMPAT_VDSO | ||
139 | # define VDSO_COMPAT_BASE VDSO_HIGH_BASE | ||
140 | # define VDSO_PRELINK VDSO_HIGH_BASE | ||
141 | #else | ||
142 | # define VDSO_COMPAT_BASE VDSO_BASE | ||
143 | # define VDSO_PRELINK 0 | ||
144 | #endif | ||
145 | 136 | ||
146 | #define VDSO_SYM(x) \ | 137 | #define VDSO_SYM(x) \ |
147 | (VDSO_COMPAT_BASE + (unsigned long)(x) - VDSO_PRELINK) | 138 | (VDSO_CURRENT_BASE + (unsigned long)(x) - VDSO_PRELINK) |
148 | 139 | ||
149 | #define VDSO_HIGH_EHDR ((const struct elfhdr *) VDSO_HIGH_BASE) | 140 | #define VDSO_HIGH_EHDR ((const struct elfhdr *) VDSO_HIGH_BASE) |
150 | #define VDSO_EHDR ((const struct elfhdr *) VDSO_COMPAT_BASE) | 141 | #define VDSO_EHDR ((const struct elfhdr *) VDSO_CURRENT_BASE) |
151 | 142 | ||
152 | extern void __kernel_vsyscall; | 143 | extern void __kernel_vsyscall; |
153 | 144 | ||
154 | #define VDSO_ENTRY VDSO_SYM(&__kernel_vsyscall) | 145 | #define VDSO_ENTRY VDSO_SYM(&__kernel_vsyscall) |
155 | 146 | ||
156 | #ifndef CONFIG_COMPAT_VDSO | ||
157 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES | ||
158 | struct linux_binprm; | 147 | struct linux_binprm; |
148 | |||
149 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES | ||
159 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, | 150 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, |
160 | int executable_stack); | 151 | int executable_stack); |
161 | #endif | ||
162 | 152 | ||
163 | extern unsigned int vdso_enabled; | 153 | extern unsigned int vdso_enabled; |
164 | 154 | ||
165 | #define ARCH_DLINFO \ | 155 | #define ARCH_DLINFO \ |
166 | do if (vdso_enabled) { \ | 156 | do if (vdso_enabled) { \ |
167 | NEW_AUX_ENT(AT_SYSINFO, VDSO_ENTRY); \ | 157 | NEW_AUX_ENT(AT_SYSINFO, VDSO_ENTRY); \ |
168 | NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_COMPAT_BASE); \ | 158 | NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_CURRENT_BASE); \ |
169 | } while (0) | 159 | } while (0) |
170 | 160 | ||
171 | #endif | 161 | #endif |