From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24844 invoked by alias); 15 Aug 2006 12:41:04 -0000 Received: (qmail 24835 invoked by uid 22791); 15 Aug 2006 12:41:03 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Tue, 15 Aug 2006 12:40:59 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1GCyE2-0004pw-HQ; Tue, 15 Aug 2006 08:40:54 -0400 Date: Tue, 15 Aug 2006 12:41:00 -0000 From: Daniel Jacobowitz To: "Zarges, Olav" Cc: "gdb@sourceware.org" Subject: Re: gdb-6.5 produces infinite backtrace on ARM Message-ID: <20060815124053.GA18496@nevyn.them.org> Mail-Followup-To: "Zarges, Olav" , "gdb@sourceware.org" References: <44E181DE.7040905@imc-berlin.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <44E181DE.7040905@imc-berlin.de> User-Agent: Mutt/1.5.11+cvs20060403 X-IsSubscribed: yes 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 X-SW-Source: 2006-08/txt/msg00127.txt.bz2 On Tue, Aug 15, 2006 at 10:12:14AM +0200, Zarges, Olav wrote: > Hi all, > > Environment: > cross gdb-6.5 running on cygwin, gcc-3.4.4-glibc-2.3.5 for ARM, > Eclipse and CDT as a front end. > > When debugging a multithreaded application on ARM I get inifinite > backtrace showing pthread_start_thread(). When using Eclipse as a > GDB front-end I had to use "set backtrace limit" to limit the > backtrace to a sensible value, otherwise the Eclipse debugger hangs > forever when the program hits a breakpoint. Normally you should get an ugly end of the backtrace, not an infinite one. If you'd like, I can take a look at what's gone wrong. I would need enough to reproduce the problem - which probably means a tarball including the source, compiled executable, and shared libraries which it uses, since this may be specific to something about your build environment. If you want to do that, let me know; it's too big to post to the list. > I found the hint to use DWARF CFI to set the function called by > pthread_create() or maybe pthread_create() itself to non-unwindable. > Can anybody tell me how to do it for this sample program? You have to modify the glibc source to do it, which is unpleasant. Maybe we need to take stronger measures for dealing with the pthread start functions, as Joel proposed some time ago... -- Daniel Jacobowitz CodeSourcery