Messages in this thread Patch in this message | | | Date | Thu, 1 May 1997 20:13:07 -0500 (EST) | From | Greg Alexander <> | Subject | Unable to load interpreter problems (simple debugging patch to find out more about the problem) |
| |
If you are having the Unable to load interpreter problem, please install this patch and let me know which load_elf_interp error gets reported.
Greg Alexander http://www.cia-g.com/~sietch/ ---- --- binfmt_elf.c.orig Thu May 1 20:06:12 1997 +++ binfmt_elf.c Thu May 1 20:11:14 1997 @@ -196,19 +196,20 @@ !elf_check_arch(interp_elf_ex->e_machine) || (!interpreter_inode->i_op || !interpreter_inode->i_op->default_file_ops->mmap)){ + printk("load_elf_interp: failed consistency checks\n"); return ~0UL; } /* Now read in all of the header information */ if (sizeof(struct elf_phdr) * interp_elf_ex->e_phnum > PAGE_SIZE) - return ~0UL; + return printk("load_elf_interp: Wrong header size?\n"),~0UL; elf_phdata = (struct elf_phdr *) kmalloc(sizeof(struct elf_phdr) * interp_elf_ex->e_phnum, GFP_KERNEL); if (!elf_phdata) - return ~0UL; + return printk("load_elf_interp: Couldn't allocate elf_phdata.\n");~0UL; /* * If the size of this structure has changed, then punt, since @@ -217,7 +218,7 @@ if (interp_elf_ex->e_phentsize != sizeof(struct elf_phdr)) { kfree(elf_phdata); - return ~0UL; + return printk("load_elf_interp: structure size changed?\n"),~0UL; } retval = read_exec(interpreter_inode, interp_elf_ex->e_phoff, @@ -232,6 +233,7 @@ elf_exec_fileno = open_inode(interpreter_inode, O_RDONLY); if (elf_exec_fileno < 0) { kfree(elf_phdata); + printk("elf_exec_fileno = %d\n",elf_exec_fileno); return ~0UL; } @@ -264,6 +266,7 @@ /* Real error */ sys_close(elf_exec_fileno); kfree(elf_phdata); + printk("load_elf_interp: error = %d\n",error); return ~0UL; } @@ -627,7 +630,7 @@ kfree(elf_interpreter); if (elf_entry == ~0UL) { - printk("Unable to load interpreter\n"); + printk("Unable to load interpreter: %d\n",interpreter_type); kfree(elf_phdata); send_sig(SIGSEGV, current, 0); return 0;
| |