Messages in this thread Patch in this message | | | From | David Howells <> | Subject | [PATCH] Fix usage of setup_arg_pages() in IA64, MIPS, S390 and Sparc64 | Date | Wed, 10 Nov 2004 11:24:19 +0000 |
| |
The attached patch fixes the usage of setup_arg_pages() in the IA64, MIPS, S390 and Sparc64 arches. This function now takes an extra parameter: the initial top of stack. This is useful in uClinux when there's no fixed location to which the stack pointer can be initialised.
Signed-Off-By: David Howells <dhowells@redhat.com> ---
warthog>diffstat ../setup_arg_pages-2610rc1mm4.diff ia64/ia32/binfmt_elf32.c | 2 +- mips/kernel/irixelf.c | 2 +- s390/kernel/binfmt_elf32.c | 2 +- sparc64/kernel/binfmt_aout32.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)
diff -uNrp /warthog/kernels/linux-2.6.10-rc1-mm4/arch/ia64/ia32/binfmt_elf32.c linux-2.6.10-rc1-mm4-frv/arch/ia64/ia32/binfmt_elf32.c --- /warthog/kernels/linux-2.6.10-rc1-mm4/arch/ia64/ia32/binfmt_elf32.c 2004-10-19 10:41:43.000000000 +0100 +++ linux-2.6.10-rc1-mm4-frv/arch/ia64/ia32/binfmt_elf32.c 2004-11-10 11:08:39.005018449 +0000 @@ -35,7 +35,7 @@ extern void ia64_elf32_init (struct pt_r static void elf32_set_personality (void); -#define setup_arg_pages(bprm,exec) ia32_setup_arg_pages(bprm,exec) +#define setup_arg_pages(bprm,tos,exec) ia32_setup_arg_pages(bprm,exec) #define elf_map elf32_map #undef SET_PERSONALITY diff -uNrp /warthog/kernels/linux-2.6.10-rc1-mm4/arch/mips/kernel/irixelf.c linux-2.6.10-rc1-mm4-frv/arch/mips/kernel/irixelf.c --- /warthog/kernels/linux-2.6.10-rc1-mm4/arch/mips/kernel/irixelf.c 2004-10-27 17:32:08.000000000 +0100 +++ linux-2.6.10-rc1-mm4-frv/arch/mips/kernel/irixelf.c 2004-11-10 11:05:21.719356169 +0000 @@ -687,7 +687,7 @@ static int load_irix_binary(struct linux * change some of these later. */ current->mm->rss = 0; - setup_arg_pages(bprm, EXSTACK_DEFAULT); + setup_arg_pages(bprm, STACK_TOP, EXSTACK_DEFAULT); current->mm->start_stack = bprm->p; /* At this point, we assume that the image should be loaded at diff -uNrp /warthog/kernels/linux-2.6.10-rc1-mm4/arch/s390/kernel/binfmt_elf32.c linux-2.6.10-rc1-mm4-frv/arch/s390/kernel/binfmt_elf32.c --- /warthog/kernels/linux-2.6.10-rc1-mm4/arch/s390/kernel/binfmt_elf32.c 2004-11-09 18:15:25.000000000 +0000 +++ linux-2.6.10-rc1-mm4-frv/arch/s390/kernel/binfmt_elf32.c 2004-11-10 11:10:13.682167102 +0000 @@ -164,7 +164,7 @@ struct elf_prpsinfo32 #undef start_thread #define start_thread start_thread31 -#define setup_arg_pages(bprm, exec) setup_arg_pages32(bprm, exec) +#define setup_arg_pages(bprm, tos, exec) setup_arg_pages32(bprm, exec) MODULE_DESCRIPTION("Binary format loader for compatibility with 32bit Linux for S390 binaries," " Copyright 2000 IBM Corporation"); diff -uNrp /warthog/kernels/linux-2.6.10-rc1-mm4/arch/sparc64/kernel/binfmt_aout32.c linux-2.6.10-rc1-mm4-frv/arch/sparc64/kernel/binfmt_aout32.c --- /warthog/kernels/linux-2.6.10-rc1-mm4/arch/sparc64/kernel/binfmt_aout32.c 2004-10-27 17:32:14.000000000 +0100 +++ linux-2.6.10-rc1-mm4-frv/arch/sparc64/kernel/binfmt_aout32.c 2004-11-10 11:07:27.590940142 +0000 @@ -311,7 +311,7 @@ beyond_if: orig_thr_flags = current_thread_info()->flags; current_thread_info()->flags |= _TIF_32BIT; - retval = setup_arg_pages(bprm, EXSTACK_DEFAULT); + retval = setup_arg_pages(bprm, STACK_TOP, EXSTACK_DEFAULT); if (retval < 0) { current_thread_info()->flags = orig_thr_flags; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |