lkml.org 
[lkml]   [1997]   [May]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectUnable 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;

\
 
 \ /
  Last update: 2005-03-22 13:39    [W:0.159 / U:0.696 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site