From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10470 invoked by alias); 18 Apr 2005 17:11:24 -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 10437 invoked from network); 18 Apr 2005 17:11:15 -0000 Received: from unknown (HELO sibelius.xs4all.nl) (82.92.89.47) by sourceware.org with SMTP; 18 Apr 2005 17:11:15 -0000 Received: from elgar.sibelius.xs4all.nl (root@elgar.sibelius.xs4all.nl [192.168.0.2]) by sibelius.xs4all.nl (8.13.0/8.13.0) with ESMTP id j3IHB2Gq007360; Mon, 18 Apr 2005 19:11:02 +0200 (CEST) Received: from elgar.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by elgar.sibelius.xs4all.nl (8.13.4/8.13.3) with ESMTP id j3IHB2lb015057; Mon, 18 Apr 2005 19:11:02 +0200 (CEST) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.13.4/8.13.4/Submit) id j3IHAvPc024879; Mon, 18 Apr 2005 19:10:57 +0200 (CEST) Date: Mon, 18 Apr 2005 17:11:00 -0000 Message-Id: <200504181710.j3IHAvPc024879@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: drow@false.org CC: roland.schwingel@onevision.de, gdb@sources.redhat.com In-reply-to: <20050418135721.GA5332@nevyn.them.org> (message from Daniel Jacobowitz on Mon, 18 Apr 2005 09:57:21 -0400) Subject: Re: gdb stack trace problems References: <4263BA56.9080509@onevision.de> <20050418135721.GA5332@nevyn.them.org> X-SW-Source: 2005-04/txt/msg00120.txt.bz2 Date: Mon, 18 Apr 2005 09:57:21 -0400 From: Daniel Jacobowitz > Program received signal SIGSEGV, Segmentation fault. > [Switching to thread 2316.0xf8c] > 0x0040131d in crashIfZero (num=2) at gdbtest.c:17 > 17 *data=911; > (gdb) thr 1 > [Switching to thread 1 (thread 2316.0xf10)]#0 0x7c91eb94 in > ntdll!LdrAccessResource () from ntdll.dll > (gdb) bt > #0 0x7c91eb94 in ntdll!LdrAccessResource () from ntdll.dll > #1 0x7c91d85c in ntdll!ZwDelayExecution () from ntdll.dll > #2 0x7c8023ed in SleepEx () from /vol/c/WINDOWS/system32/kernel32.dll > #3 0x00000000 in ?? () from OK, here's a concrete problem. GDB 6.x has a (usually) more reliable prologue analyzer for x86, compared to GDB 5.3. However, the old one got lucky with SleepEx and the new one doesn't. I'd ask you to post disassembly of the function except I'm not sure how wise that is with a Microsoft DLL... Mark, you did the work on the i386 prologue analyzer. Any chance you could take a look at this? Sure if someone can provide me with the dissassembly in AT&T syntax for that function, or even better some assembler code that exhibits the problem. No promises though that I'll fix this. Last time I looked at some windows disassembler it looked like it was hand optimized in such a way that the entire function needed to be analyzed to do something useful; something that doesn't quite fit in the way we do things in GDB. Mark