This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: loading shared library


> Hi all,
>
> I've a linux machine with RedHat installed with linux kernel
> 2.4.7. GDB 5.3
> is running. I crosscompiled the gdbserver for an ARM platform (with linux
> 2.4.16-rmk2). when I try to debug a simple multithreaded program, I get an
> error when loading the shared libraries:
>
> (gdb) info sharedlibrary
> From        To          Syms Read   Shared Object Library
> 0x40023020  0x4002c35c  No          /lib/libpthread.so.0
> 0x40054400  0x401563d0  No          /lib/libc.so.6
> 0x40001e50  0x40012e80  No          /lib/ld-linux.so.2
> (gdb) sharedlibrary
> Reading symbols from /lib/libpthread.so.0...done.
> Ignoring packet error, continuing...
> Loaded symbols for /lib/libpthread.so.0
> Reading symbols from /lib/libc.so.6...done.
> Error while reading shared library symbols:
> putpkt: write failed: Broken pipe.
> Reading symbols from /lib/ld-linux.so.2...done.
> Error while reading shared library symbols:
> putpkt: write failed: Broken pipe.
> putpkt: write failed: Broken pipe.
> (gdb)
>
> At the target side, I've a segmentation fault. The simple program
> is linked
> against an unstripped libpthread. This library exists at the target. The
> only possible problem in my opinion, is that gdbserver is linked against
> libthread_db which itself is compiled against libc 2.2.4 while
> the target is
> working with libc 2.1.3. Could this be a problem, or is it something else
> what causes this behaviour???
>
> Thanx,
> Frank

I found out that only libpthread is giving problems (I can load the other
two libraries without any problem). When I rename the libpthread library (in
/lib) at the HOST, gdb is giving the following error message:

(gdb) info sharedlibrary
Error while mapping shared library sections:
/lib/libpthread.so.0: No such file or directory.
>From        To          Syms Read   Shared Object Library
                        No          /lib/libpthread.so.0
0x40054400  0x401563d0  No          /lib/libc.so.6
0x40001e50  0x40012e80  No          /lib/ld-linux.so.2
(gdb) sharedlibrary
Error while reading shared library symbols:
/lib/libpthread.so.0: No such file or directory.
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
(gdb)

I don't understand why gdb tries to load a library from the host
(/lib/libpthread.so.0), while it needs the crosscompiled library from the
target. Or do I misunderstand something?

Frank


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]