bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: glibc broken


From: Marcus Brinkmann
Subject: Re: glibc broken
Date: Wed, 23 May 2001 13:31:57 +0200
User-agent: Mutt/1.3.15i

On Tue, May 22, 2001 at 11:04:54PM -0400, Roland McGrath wrote:
> Also test whether running a program via ld.so works,
> i.e. /lib/ld.so.1 /bin/foo arg1 arg2
> 
> This is how exec gets run.  Try /lib/ld.so.1 /hurd/exec --help.

And Roland won the price again!  All Hurd servers and user space programs
which I tried that link to Hurd libraries, like msgport and rpctrace, fail
with this invocation type.

dynamically linked programs fail with:
/hurd/hello: error while loading shared libraries: /hurd/hello: cannot open 
shared object file: No such file or directory

statically linked programs fail with:
Killed

A backtrace for the latter is here:

GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-gnu0.2"...
(gdb) set args /hurd/ext2fs.static
(gdb) run
Starting program: /lib/ld.so /hurd/ext2fs.static

Program received signal EXC_BAD_ACCESS, Could not access memory.
0xba5a in _dl_map_object_deps (map=0xd776, preloads=0x1021af4, npreloads=0, 
    trace_mode=131984) at ../hurd/hurd/threadvar.h:115
115     ../hurd/hurd/threadvar.h: No such file or directory.
(gdb) bt full
#0  0xba5a in _dl_map_object_deps (map=0xd776, preloads=0x1021af4, 
    npreloads=0, trace_mode=131984) at ../hurd/hurd/threadvar.h:115
        objname = 0x1021bcc "\001"
        newp = (struct list *) 0x0
        strtab = 0x0
        args = {map = 0xd6d6, trace_mode = 129756, 
  strtab = 0x20070 "\220\003\002", name = 0x1 <Address 0x1 out of bounds>, 
  aux = 0xd3de89e3}
        orig = (struct list *) 0x8d148d05
        d = (Elf32_Dyn *) 0xe9c1f189
        l = (struct link_map *) 0x1
        needed = (struct link_map **) 0x0
        nneeded = 0
        known = (struct list (*)[0]) 0x1021aec
        runp = (struct list *) 0x0
        utail = (struct list *) 0x1021a1c
        dtail = (struct list *) 0x1021a1c
        nlist = 1
        nduplist = 16915148
        i = 129756
        errno_saved = 16148
        errno_reason = 131984
        errstring = 0x0
#1  0x1fadc in ?? ()
No symbol table info available.
#2  0x5039 in decompose_rpath (sps=0x1fadc, rpath=0xf61c "[\201ÃÀ\004\001", 
    l=0x0, what=0x8048034 "\001") at dl-load.c:523
        len = 131984
        found = 0x0
        where = 0x0
        copy = 0x3 <Address 0x3 out of bounds>
        cp = 0x0
        result = (struct r_search_path_elem **) 0xf63f
        nelems = 131984
#3  0xf85e in __fxstat (vers=16915516, fd=0, buf=0x1021c40)
    at ../hurd/hurd.h:70
        err = 131984
        err = 0
#4  0x11942 in __mprotect (addr=0x1022000, len=16915840, prot=16915860)
    at ../hurd/hurd/threadvar.h:84
        prot = 131984
        err = 131984
        vmprot = 0
#5  0xf989 in __access (file=0x1022000 "/lib/ld.so", type=16292)
    at ../hurd/hurd/threadvar.h:84
No locals.
#6  0x3e5a in dl_main (phdr=0x1022000, phnum=16916056, user_entry=0x0)
    at rtld.c:948
        strtab = 0x1ff4c ""
        dyn = (Elf32_Dyn *) 0x20390
        ent = (Elf32_Verneed *) 0x1021f44
        first = 0
        map = (struct link_map *) 0x0
        phnum = 0
        ph = (Elf32_Phdr *) 0x1021ac8
        mode = 16915884
        preloads = (struct link_map **) 0x0
        npreloads = 15920
        file_size = 0
        file = 0x1021de4 "ô\037\002\001Ë="
        has_interp = 16292
        i = 0
        rtld_is_main = 16916480
#7  0x3dcb in dl_main (phdr=0x1022000, phnum=1651076143, user_entry=0x2e646c2f)
    at rtld.c:912
        args = {l = 0x0, lazy = 0}
        l = (struct link_map *) 0x1021ac8
        phnum = 0
        ph = (Elf32_Phdr *) 0x1021ac8
        mode = normal
        preloads = (struct link_map **) 0x0
        npreloads = 0
        file_size = 0
        file = 0x0
        has_interp = 0
        i = 0
        rtld_is_main = 0
(gdb) info reg
eax            0x0      0
ecx            0x20390  131984
edx            0x20390  131984
ebx            0x1fadc  129756
esp            0x1021a1c        0x1021a1c
ebp            0x1021ae4        0x1021ae4
esi            0x1021ac8        16915144
edi            0x0      0
eip            0xba5a   0xba5a
eflags         0x10246  66118
cs             0x17     23
ss             0x1f     31
ds             0x1f     31
es             0x1f     31
fs             0x1f     31
gs             0x1f     31
fctrl          0x0      0
fstat          0x0      0
ftag           0x0      0
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
(gdb) x
0x0:    Cannot access memory at address 0x0
(gdb) quit
The program is running.  Exit anyway? (y or n) 
 
Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org brinkmd@debian.org
Marcus Brinkmann              GNU    http://www.gnu.org    marcus@gnu.org
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de



reply via email to

[Prev in Thread] Current Thread [Next in Thread]