This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gdb-6.5 produces infinite backtrace on ARM


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]