diff options
author | Roland McGrath <roland@redhat.com> | 2008-01-30 07:31:55 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:31:55 -0500 |
commit | a97f52e67890fda6b373c1c1895ff1c1c69b36c8 (patch) | |
tree | 3cf522fd85e30519eb8b202c6d4243395ccb8653 /arch/x86/vdso/vdso32-setup.c | |
parent | 60b3b9af35aad66345e395be911e46fb8443f0c5 (diff) |
x86: compat_binfmt_elf
This switches x86-64's 32-bit ELF support to use the shared
fs/compat_binfmt_elf.c code instead of our own ia32_binfmt.c.
Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/vdso/vdso32-setup.c')
-rw-r--r-- | arch/x86/vdso/vdso32-setup.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c index e0feb66a2408..348f1341e1c8 100644 --- a/arch/x86/vdso/vdso32-setup.c +++ b/arch/x86/vdso/vdso32-setup.c | |||
@@ -377,6 +377,39 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack) | |||
377 | 377 | ||
378 | __initcall(sysenter_setup); | 378 | __initcall(sysenter_setup); |
379 | 379 | ||
380 | #ifdef CONFIG_SYSCTL | ||
381 | /* Register vsyscall32 into the ABI table */ | ||
382 | #include <linux/sysctl.h> | ||
383 | |||
384 | static ctl_table abi_table2[] = { | ||
385 | { | ||
386 | .procname = "vsyscall32", | ||
387 | .data = &sysctl_vsyscall32, | ||
388 | .maxlen = sizeof(int), | ||
389 | .mode = 0644, | ||
390 | .proc_handler = proc_dointvec | ||
391 | }, | ||
392 | {} | ||
393 | }; | ||
394 | |||
395 | static ctl_table abi_root_table2[] = { | ||
396 | { | ||
397 | .ctl_name = CTL_ABI, | ||
398 | .procname = "abi", | ||
399 | .mode = 0555, | ||
400 | .child = abi_table2 | ||
401 | }, | ||
402 | {} | ||
403 | }; | ||
404 | |||
405 | static __init int ia32_binfmt_init(void) | ||
406 | { | ||
407 | register_sysctl_table(abi_root_table2); | ||
408 | return 0; | ||
409 | } | ||
410 | __initcall(ia32_binfmt_init); | ||
411 | #endif | ||
412 | |||
380 | #else /* CONFIG_X86_32 */ | 413 | #else /* CONFIG_X86_32 */ |
381 | 414 | ||
382 | const char *arch_vma_name(struct vm_area_struct *vma) | 415 | const char *arch_vma_name(struct vm_area_struct *vma) |