From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17914 invoked by alias); 19 Aug 2006 05:24:44 -0000 Received: (qmail 17906 invoked by uid 22791); 19 Aug 2006 05:24:43 -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; Sat, 19 Aug 2006 05:24:37 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1GEJJy-00045a-LI; Sat, 19 Aug 2006 01:24:34 -0400 Date: Sat, 19 Aug 2006 05:24:00 -0000 From: Daniel Jacobowitz To: "Zarges, Olav" , "gdb@sourceware.org" Subject: Re: gdb-6.5 produces infinite backtrace on ARM Message-ID: <20060819052434.GA15612@nevyn.them.org> Mail-Followup-To: "Zarges, Olav" , "gdb@sourceware.org" References: <44E181DE.7040905@imc-berlin.de> <20060815124053.GA18496@nevyn.them.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060815124053.GA18496@nevyn.them.org> 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/msg00140.txt.bz2 On Tue, Aug 15, 2006 at 08:40:54AM -0400, Daniel Jacobowitz wrote: > 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. Thanks a lot for the test case. The underlying cause was that pthread_start_thread is marked noreturn; GCC seems to have omitted the LR register save in this case. I thought it wouldn't do that, but in any case, we should cope. I know have a fairly general patch set for this problem, which produces: (gdb) bt ... #4 0xxxxxxxx in pthread_start_thread () from /lib/libpthread.so.0 Backtrace stopped: frame did not save the PC (gdb) This isn't ideal - we could detect the pthread_start_thread function name and stop automatically, which might be a wise addition - but it's better than going off into the woods. There's about 250 lines of changes involved, to one of the more complicated parts of GDB, so I will need to go over the patches again and post them separately. But I'll try to make sure this is fixed soon. -- Daniel Jacobowitz CodeSourcery