This is the mail archive of the gdb-prs@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/1847: Step over (next) fails in pthreads programs on recent(NPTL) RedHat Linuxes


The following reply was made to PR gdb/1847; it has been noted by GNATS.

From: Stefan Bylund <steby@enea.se>
To: gdb-gnats@sources.redhat.com
Cc:  
Subject: Re: gdb/1847: Step over (next) fails in pthreads programs on recent
 (NPTL) RedHat Linuxes
Date: Tue, 27 Nov 2007 11:12:12 +0100

 I have analyzed this issue a bit more and found three different sources 
 that may interfere with an ongoing single step operation of a thread in 
 a multi-threaded Linux program:
 
 * Internal longjmp debug support breakpoints
 * Internal thread create/death event breakpoints
 * Internal shared library load/unload event breakpoints
 
 I haven't been able to find the actual code for this internal breakpoint 
 handling that messes up an ongoing single step operation of a thread.
 
 However, I have found that by disabling internal longjmp debug support 
 breakpoints (with GET_LONGJMP_TARGET_P() defined to (0)), things seem to 
 work a whole lot better! On RHEL 4, I can still get problems with 
 internal thread create/death event breakpoints but with SUSE 10 the 
 provided example snippet works as it should by disabling internal 
 longjmp debug support breakpoints.
 
 GDB bug report 2250 is also related to this issue.
 
 -- 
 ---------------------------------
 Stefan Bylund
 Senior Software Engineer
 Enea
 Skalholtsgatan 9,
 Box 1033, SE-164 21 Kista, Sweden
 Direct: +46 8 50 71 43 25
 Mobile: +46 709 71 43 25
 stefan.bylund@enea.com
 www.enea.com
 ---------------------------------
 Enea - Embedded for Leaders
 ---------------------------------
 


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