Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -510,7 +510,7 @@ config IA32_EMULATION
	  left.

config IA32_AOUT
       bool "IA32 a.out support"
       tristate "IA32 a.out support"
       depends on IA32_EMULATION
       help
         Support old a.out binaries in the 32bit emulation.
+0 −3
Original line number Diff line number Diff line
@@ -36,9 +36,6 @@
#undef WARN_OLD
#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_library(struct file*);

+3 −1
Original line number Diff line number Diff line
@@ -335,7 +335,8 @@ static void elf32_init(struct pt_regs *regs)
	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;
	struct vm_area_struct *mpnt;
@@ -389,6 +390,7 @@ int setup_arg_pages(struct linux_binprm *bprm, unsigned long stack_top, int exec
	
	return 0;
}
EXPORT_SYMBOL(ia32_setup_arg_pages);

static unsigned long
elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type)
+3 −0
Original line number Diff line number Diff line
@@ -203,3 +203,6 @@ EXPORT_SYMBOL(flush_tlb_page);
#endif

EXPORT_SYMBOL(cpu_khz);

EXPORT_SYMBOL(load_gs_index);
+5 −0
Original line number Diff line number Diff line
@@ -165,6 +165,11 @@ struct siginfo_t;
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 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 /* !CONFIG_IA32_SUPPORT */