Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Feb 1999 21:09:42 +0100
From:      Marcel Moolenaar <marcel@scc.nl>
To:        Andre Albsmeier <andre.albsmeier@mchp.siemens.de>, emulation@freebsd.org
Subject:   ELF/VM problem [was: Re: linux ELF emulation is kinda broken (fwd)]
Message-ID:  <36CB2206.4F559F87@scc.nl>
References:  <Pine.BSF.3.95.990216120935.13983G-100000@current1.whistle.com> <19990217163703.C2507@internal>

next in thread | previous in thread | raw e-mail | index | archive | help
Andre Albsmeier wrote:

> > > Tried libc-5.3.12-27.i386.rpm first and than ld.so-1.9.5-8.i386.rpm as well.
> > > Unfortunately, nothing has changed. I had later 113 libs reported by ldconfig;
> > > before there had been 91 only...

I did some kernel debugging and found out that there is something funny going
on when ld-linux.so.1 is about to get loaded. Function elf_load_section() in
file /sys/kern/imgact_elf.c fails to load the first program header. More
specifically, The very first vm_map_insert() in that function fails with
error 22 (EINVAL).

objdump gives the following information for ld-linux.so.1:

ld-linux.so.1:     file format elf32-i386
ld-linux.so.1
architecture: i386, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x000009f8

Program Header:
    LOAD off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12
         filesz 0x00004e76 memsz 0x00004e76 flags r-x
    LOAD off    0x00004e78 vaddr 0x00005e78 paddr 0x00005e78 align 2**12
         filesz 0x00000170 memsz 0x00000190 flags rw-
 DYNAMIC off    0x00004f78 vaddr 0x00005f78 paddr 0x00005f78 align 2**2
         filesz 0x00000070 memsz 0x00000070 flags rw-

[snip]

I don't think I'm the one that's going to solve this in the near future, so
if someone with enough knowledge about ELF and the VM subsystem can help out,
lot's of people are going to be very happy :-)

marcel


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-emulation" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36CB2206.4F559F87>