From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15178 invoked by alias); 27 Jan 2003 10:38:08 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 15171 invoked from network); 27 Jan 2003 10:38:07 -0000 Received: from unknown (HELO relay.versatel.net) (62.250.3.110) by 172.16.49.205 with SMTP; 27 Jan 2003 10:38:07 -0000 Received: (qmail 77036 invoked from network); 27 Jan 2003 10:38:04 -0000 Received: from unknown (HELO technt.technolution.nl) (62.58.167.162) by relay.versatel.net with SMTP; 27 Jan 2003 10:38:04 -0000 Received: from frank (172.16.10.11) by technt.technolution.nl (Worldmail 1.3.167); 27 Jan 2003 11:38:03 +0100 Reply-To: From: "Frank van Eijkelenburg" To: , "Gnu Debugger mailing list" Subject: RE: loading shared library Date: Mon, 27 Jan 2003 10:38:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 In-Reply-To: Importance: Normal X-SW-Source: 2003-01/txt/msg00429.txt.bz2 > 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