From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31432 invoked by alias); 21 Dec 2006 12:41:28 -0000 Received: (qmail 31421 invoked by uid 22791); 21 Dec 2006 12:41:27 -0000 X-Spam-Check-By: sourceware.org Received: from michael.checkpoint.com (HELO michael.checkpoint.com) (194.29.32.68) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 21 Dec 2006 12:41:22 +0000 Received: from localhost (localhost [127.0.0.1]) by michael.checkpoint.com (8.12.10+Sun/8.12.10) with SMTP id kBLCf16B014561; Thu, 21 Dec 2006 14:41:01 +0200 (IST) Message-Id: <200612211241.kBLCf16B014561@michael.checkpoint.com> From: "Avi Gozlan" To: "'Daniel Jacobowitz'" Cc: Subject: RE: symbol files and source files of shared objects when debugging remote target Date: Thu, 21 Dec 2006 12:41:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook, Build 11.0.5510 In-Reply-To: <20061212144510.GA17889@nevyn.them.org> Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-12/txt/msg00184.txt.bz2 Thanks. I managed to have the symbols loaded using "solib-search-path". However I encountered several issues as follows: 1) I succeeded steping into a function defined in one of my shared libraries. However, when I tried to step into another one I got the following message: 0x007c5050 in __nss_protocols_lookup () from /lib/tls/libc.so.6 It is worth mentioning the stepping into the second function involved stepping into another function whose symboles were not loaded. Also it is maybe worth mentioning that libc.so.6 in the target system is different from libc.so.6 on the host system. 2) When I run 'set solib-search-path path' on the host, I get the following warning several times on the target: gdb: error initializing thread_db library: version mismatch between libthread_db and libpthread. By the way, when the program symbol file loads, I get the following message: Using host libthread_db library "/lib/tls/libthread_db.so.1" But when running "info share" I don't see libthread_db.so.1 but rather /lib/tls/libpthread.so.0 I'm using gdb and gdbserver of version 6.5. Both are configured and compiled for i686-pc-linux-gnu. Both the host and target are Linux 2.4.21 3) Why it is necessary to run 'set solib-search-path' only after the program enters user entry point? Running it beforehand left the so symbols unloaded. The implication is that the command cannot be executed during gdb initialization (e.g. in ini file). Regards, Avi -----Original Message----- From: Daniel Jacobowitz [mailto:drow@false.org] Sent: Tuesday, December 12, 2006 4:45 PM To: Avi Gozlan Cc: gdb@sourceware.org Subject: Re: symbol files and source files of shared objects when debugging remote target On Tue, Dec 12, 2006 at 01:36:16PM +0200, Avi Gozlan wrote: > Hello, > > I'm debugging a remote target using gdb/gdbserver. > > This procedure works fine for the source files included in the program > symbol table. However, I cannot step into functions included in a > shared library. The 'directory' command does not help in this situation. Does info shared work? Did you set "solib-absolute-prefix" or "solib-search-path" to find the shared libraries on your host system? -- Daniel Jacobowitz CodeSourcery