From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18859 invoked by alias); 4 Nov 2005 16:06:44 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 18848 invoked by uid 22791); 4 Nov 2005 16:06:40 -0000 Received: from elbarto.betaversion.net (HELO elbarto.betaversion.net) (82.165.28.81) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Fri, 04 Nov 2005 16:06:40 +0000 Received: by elbarto.betaversion.net (Postfix, from userid 8) id F1415A3739; Fri, 4 Nov 2005 17:06:38 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by elbarto.betaversion.net (Postfix) with ESMTP id 57C56A374E; Fri, 4 Nov 2005 17:06:31 +0100 (CET) Received: from elbarto.betaversion.net ([127.0.0.1]) by localhost (elbarto.betaversion.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 07373-05; Fri, 4 Nov 2005 17:06:30 +0100 (CET) Received: from elbarto.betaversion.net (localhost [127.0.0.1]) by elbarto.betaversion.net (Postfix) with ESMTP id 879A6A3739; Fri, 4 Nov 2005 17:06:30 +0100 (CET) Received: from p54A7DAAE.dip.t-dialin.net (p54A7DAAE.dip.t-dialin.net [84.167.218.174]) by admin.betaversion.net (Horde) with HTTP for ; Fri, 04 Nov 2005 17:06:30 +0100 Message-ID: <20051104170630.shkvzmvhhw4gk804@admin.betaversion.net> Date: Fri, 04 Nov 2005 16:06:00 -0000 From: Frank Meerkoetter To: Daniel Jacobowitz Cc: gdb@sourceware.org Subject: Re: multithreaded programs on arm-linux References: <20051103150707.GA31256@nevyn.them.org> <20051103165107.69fo0r6r2li8csws@admin.betaversion.net> <20051103155928.GA630@nevyn.them.org> <20051103172809.nzyshptn7w5cscs0@admin.betaversion.net> <20051103164212.GA2532@nevyn.them.org> <20051103185047.8o634uhdvtsg8kcc@admin.betaversion.net> <20051103211329.GB11262@nevyn.them.org> <20051104102321.ob6kfhtmx1mscoc4@admin.betaversion.net> <20051104142550.GA1842@nevyn.them.org> <20051104163930.rubgkjl3v0hwgw8o@admin.betaversion.net> <20051104154042.GB4309@nevyn.them.org> In-Reply-To: <20051104154042.GB4309@nevyn.them.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Internet Messaging Program (IMP) H3 (4.0) X-Remote-Browser: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050920 Firefox/1.0.7 SUSE/1.0.7-0.1 X-SW-Source: 2005-11/txt/msg00112.txt.bz2 Quoting Daniel Jacobowitz : > On Fri, Nov 04, 2005 at 04:39:30PM +0100, Frank Meerkoetter wrote: >> Quoting Daniel Jacobowitz : >> >> >On Fri, Nov 04, 2005 at 10:23:21AM +0100, Frank Meerkoetter wrote: >> >>Quoting Daniel Jacobowitz : >> >> >> >>>On Thu, Nov 03, 2005 at 06:50:47PM +0100, Frank Meerkoetter wrote: >> >>>>objfile is NULL, why i couldn't figure out. >> >>> >> >>>That should be true the first time but not the second, if you've used >> >>>"file". >> >> >> >>Ok. The first time objfile is null. The second time target_has_execution >> >>is false. >> > >> >It doesn't get called after you say "run"? Is this a static executable >> >you're debugging? >> >> It does get called. Sorry, i tested the wrong thing. >> >> [...] >> /* Now attempt to open a connection to the thread library. */ >> err = td_ta_new_p (&proc_handle, &thread_agent); >> >> It returns TD_NOLIBTHREAD. >> >> I know from stepping through thread_db_load() that >> That td_ta_new_p = verbose_dlsym (handle, "td_ta_new"); >> was successfull. >> >> verbose_dlsym() also produced now warning that it couldn't >> find a certain symbol. >> >> td_ta_new seems to fail. >> I've downloaded the linuxThreads source but can't find any >> references to "td_ta_new". > > It's in libthread_db, which is linuxthreads_db/ in the LinuxThreads > source. > > It sounds like your libpthread.so has been stripped of some required > symbols. I found it. glibc-linuxthreads-2.2.5.tar.gz contains linuxthreads/ and linuxthreads_db/ both at the root level... So i missed it at the first look. td_err_e td_ta_new (struct ps_prochandle *ps, td_thragent_t **ta) { [...] /* Get the global event mask. This is one of the variables which are new in the thread library to enable debugging. If it is not available we cannot debug. */ if (td_lookup (ps, PTHREAD_THREADS_EVENTS, &addr) != PS_OK) return TD_NOLIBTHREAD; It seems that td_lookup fails. td_lookup is a wrapper around ps_pglobal_lookup defined in td_symbol_list.c. Regards, Frank