This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
RE: loading shared library
- From: "Frank van Eijkelenburg" <frank dot van dot eijkelenburg at technolution dot nl>
- To: "Kevin Buettner" <kevinb at redhat dot com>,"Gnu Debugger mailing list" <gdb at sources dot redhat dot com>
- Date: Fri, 31 Jan 2003 10:55:07 +0100
- Subject: RE: loading shared library
- Reply-to: <frank dot van dot eijkelenburg at technolution dot nl>
> -----Original Message-----
> From: Kevin Buettner [mailto:kevinb@redhat.com]
> Sent: maandag 27 januari 2003 17:06
> To: frank.van.eijkelenburg@technolution.nl; Gnu Debugger mailing list
> Subject: Re: loading shared library
>
>
> On Jan 27, 11:38am, Frank van Eijkelenburg wrote:
>
> > 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?
>
> You need to tell GDB where to find the shared libraries for the target.
> Use the ``set solib-absolute-prefix ...'' command to do this.
>
> Kevin
I tried this, and it was working. At this moment I've upgraded my glibc on
the target from 2.1.3 to 2.2.4. I also build a complete toolchain with glibc
2.2.4. Now I want to debug a simple multithreaded program remote. But the
following occured:
GNU gdb 5.3
Copyright 2002 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 "--host=i686-pc-linux-gnu --target=arm-linux"...
0x40002a70 in ?? ()
(gdb) b 20
Breakpoint 1 at 0x8590: file ex1.c, line 20.
(gdb) c
Continuing.
Breakpoint 1, main () at ex1.c:26
26 retcode = pthread_create(&th_a, NULL, process, (void *) "a");
(gdb) sharedlibrary
Reading symbols from /usr/arm/tools/arm-linux/lib/libpthread.so.0...done.
Ignoring packet error, continuing...
Loaded symbols for /usr/arm/tools/arm-linux/lib/libpthread.so.0
Reading symbols from /usr/arm/tools/arm-linux/lib/libc.so.6...done.
Error while reading shared library symbols:
putpkt: write failed: Broken pipe.
Reading symbols from /usr/arm/tools/arm-linux/lib/ld-linux.so.2...done.
Error while reading shared library symbols:
putpkt: write failed: Broken pipe.
putpkt: write failed: Broken pipe.
(gdb) show solib-absolute-prefix
Prefix for loading absolute shared library symbol files is "/dev/null".
(gdb) show solib-
solib-absolute-prefix solib-search-path
(gdb) show solib-search-path
The search path for loading non-absolute shared library symbol files is
"/usr/arm/tools/arm-linux/lib".
(gdb)
It's trying to load the right libraries, but fails on libpthread (I can load
the other two without any problems). Any idea of what's causing the
problem???
Frank