From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17114 invoked by alias); 7 Sep 2003 19:22:34 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 17106 invoked from network); 7 Sep 2003 19:22:33 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 7 Sep 2003 19:22:33 -0000 Received: from drow by nevyn.them.org with local (Exim 4.22 #1 (Debian)) id 19w57I-00014L-Uy for ; Sun, 07 Sep 2003 15:22:32 -0400 Date: Sun, 07 Sep 2003 19:22:00 -0000 From: Daniel Jacobowitz To: gdb@sources.redhat.com Subject: More bad backtraces through nanosleep Message-ID: <20030907192232.GA3951@nevyn.them.org> Mail-Followup-To: gdb@sources.redhat.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.1i X-SW-Source: 2003-09/txt/msg00097.txt.bz2 This is a little unfortunate... Glibc with NPTL uses DWARF-2 unwind information to describe syscall wrappers, because the NPTL implementation of cancellation uses dwarf2 unwinding. However, glibc with LinuxThreads does not. So if you're running a multi-threaded LinuxThreads application, when we hit a syscall we're likely to get completely lost. We can't reasonably expect GDB's prologue unwinder to figure out nanosleep; the function has no prologue, and then pushes things onto the stack inside CENABLE/CDISABLE. Libc folks, would there be any disadvantages besides space to adding unwind info to the cancellable syscall wrappers in LT also? How would you feel about such a patch? -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer