patch-2.1.36 linux/arch/sparc64/kernel/sparcelf32.c

Next file: linux/arch/sparc64/kernel/sys_sparc32.c
Previous file: linux/arch/sparc64/kernel/sparc64_ksyms.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.35/linux/arch/sparc64/kernel/sparcelf32.c linux/arch/sparc64/kernel/sparcelf32.c
@@ -38,6 +38,7 @@
 #include <linux/shm.h>
 #include <linux/personality.h>
 #include <linux/elfcore.h>
+#include <linux/init.h>
 
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
@@ -156,20 +157,20 @@
 	sp -= argc+1;
 	argv = (__u32 *) sp;
 	if (!ibcs) {
-		__put_user(((__u32) envp),--sp);
-		__put_user(((__u32) argv),--sp);
+		__put_user(((__u32)(long) envp),--sp);
+		__put_user(((__u32)(long) argv),--sp);
 	}
 
 	__put_user((__u32)argc,--sp);
 	current->mm->arg_start = (unsigned long) p;
 	while (argc-->0) {
-		__put_user(((__u32)p),argv++);
+		__put_user(((__u32)(long)p),argv++);
 		p += strlen_user(p);
 	}
 	__put_user(NULL, argv);
 	current->mm->arg_end = current->mm->env_start = (unsigned long) p;
 	while (envc-->0) {
-		__put_user(((__u32)p),envp++);
+		__put_user(((__u32)(long)p),envp++);
 		p += strlen_user(p);
 	}
 	__put_user(NULL, envp);
@@ -1108,7 +1109,7 @@
 #else
 	if (sizeof(elf_gregset_t) != sizeof(struct pt_regs))
 	{
-		printk("sizeof(elf_gregset_t) (%d) != sizeof(struct pt_regs) (%d)\n",
+		printk("sizeof(elf_gregset_t) (%ld) != sizeof(struct pt_regs) (%ld)\n",
 			sizeof(elf_gregset_t), sizeof(struct pt_regs));
 	}
 	else
@@ -1255,7 +1256,7 @@
 }
 #endif		/* USE_ELF_CORE_DUMP */
 
-int init_elf32_binfmt(void)
+__initfunc(int init_elf32_binfmt(void))
 {
 	return register_binfmt(&elf32_format);
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov