Commit ea0be473 authored by Andi Kleen's avatar Andi Kleen Committed by Linus Torvalds

[PATCH] x86_64: Allow modular build of ia32 aout loader

Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent af9c142d
...@@ -510,7 +510,7 @@ config IA32_EMULATION ...@@ -510,7 +510,7 @@ config IA32_EMULATION
left. left.
config IA32_AOUT config IA32_AOUT
bool "IA32 a.out support" tristate "IA32 a.out support"
depends on IA32_EMULATION depends on IA32_EMULATION
help help
Support old a.out binaries in the 32bit emulation. Support old a.out binaries in the 32bit emulation.
......
...@@ -36,9 +36,6 @@ ...@@ -36,9 +36,6 @@
#undef WARN_OLD #undef WARN_OLD
#undef CORE_DUMP /* probably broken */ #undef CORE_DUMP /* probably broken */
extern int ia32_setup_arg_pages(struct linux_binprm *bprm,
unsigned long stack_top, int exec_stack);
static int load_aout_binary(struct linux_binprm *, struct pt_regs * regs); static int load_aout_binary(struct linux_binprm *, struct pt_regs * regs);
static int load_aout_library(struct file*); static int load_aout_library(struct file*);
......
...@@ -335,7 +335,8 @@ static void elf32_init(struct pt_regs *regs) ...@@ -335,7 +335,8 @@ static void elf32_init(struct pt_regs *regs)
me->thread.es = __USER_DS; me->thread.es = __USER_DS;
} }
int setup_arg_pages(struct linux_binprm *bprm, unsigned long stack_top, int executable_stack) int ia32_setup_arg_pages(struct linux_binprm *bprm, unsigned long stack_top,
int executable_stack)
{ {
unsigned long stack_base; unsigned long stack_base;
struct vm_area_struct *mpnt; struct vm_area_struct *mpnt;
...@@ -389,6 +390,7 @@ int setup_arg_pages(struct linux_binprm *bprm, unsigned long stack_top, int exec ...@@ -389,6 +390,7 @@ int setup_arg_pages(struct linux_binprm *bprm, unsigned long stack_top, int exec
return 0; return 0;
} }
EXPORT_SYMBOL(ia32_setup_arg_pages);
static unsigned long static unsigned long
elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type) elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type)
......
...@@ -203,3 +203,6 @@ EXPORT_SYMBOL(flush_tlb_page); ...@@ -203,3 +203,6 @@ EXPORT_SYMBOL(flush_tlb_page);
#endif #endif
EXPORT_SYMBOL(cpu_khz); EXPORT_SYMBOL(cpu_khz);
EXPORT_SYMBOL(load_gs_index);
...@@ -165,6 +165,11 @@ struct siginfo_t; ...@@ -165,6 +165,11 @@ struct siginfo_t;
int do_get_thread_area(struct thread_struct *t, struct user_desc __user *info); int do_get_thread_area(struct thread_struct *t, struct user_desc __user *info);
int do_set_thread_area(struct thread_struct *t, struct user_desc __user *info); int do_set_thread_area(struct thread_struct *t, struct user_desc __user *info);
int ia32_child_tls(struct task_struct *p, struct pt_regs *childregs); int ia32_child_tls(struct task_struct *p, struct pt_regs *childregs);
struct linux_binprm;
extern int ia32_setup_arg_pages(struct linux_binprm *bprm,
unsigned long stack_top, int exec_stack);
#endif #endif
#endif /* !CONFIG_IA32_SUPPORT */ #endif /* !CONFIG_IA32_SUPPORT */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment