From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27313 invoked by alias); 2 May 2009 09:23:03 -0000 Received: (qmail 27302 invoked by uid 22791); 2 May 2009 09:23:03 -0000 X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL,BAYES_00,SPF_SOFTFAIL X-Spam-Check-By: sourceware.org Received: from mtaout7.012.net.il (HELO mtaout7.012.net.il) (84.95.2.19) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 02 May 2009 09:22:56 +0000 Received: from conversion-daemon.i-mtaout7.012.net.il by i-mtaout7.012.net.il (HyperSendmail v2007.08) id <0KJ000H00F4RII00@i-mtaout7.012.net.il> for gdb@sourceware.org; Sat, 02 May 2009 12:22:03 +0300 (IDT) Received: from HOME-C4E4A596F7 ([77.127.230.216]) by i-mtaout7.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0KJ000E6MFCQRC10@i-mtaout7.012.net.il>; Sat, 02 May 2009 12:22:02 +0300 (IDT) Date: Sat, 02 May 2009 09:23:00 -0000 From: Eli Zaretskii Subject: Re: Debugging a frameless function In-reply-to: <200904291908.n3TJ8ic6007273@brahms.sibelius.xs4all.nl> To: Mark Kettenis Cc: drow@false.org, gdb@sourceware.org Reply-to: Eli Zaretskii Message-id: <834ow3g8qh.fsf@gnu.org> References: <83zldzco0p.fsf@gnu.org> <20090429183946.GA28155@caradoc.them.org> <83ws93cmp0.fsf@gnu.org> <200904291908.n3TJ8ic6007273@brahms.sibelius.xs4all.nl> X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2009-05/txt/msg00006.txt.bz2 > Date: Wed, 29 Apr 2009 21:08:44 +0200 (CEST) > From: Mark Kettenis > CC: drow@false.org, gdb@sourceware.org > > > > Date: Wed, 29 Apr 2009 14:39:46 -0400 > > > From: Daniel Jacobowitz > > > Cc: gdb@sourceware.org > > > > Thanks for responding. > > > > > Sounds like the debug info is bad. > > > > But then why does GDB 6.1 have no problems debugging the same binary? > > Did GDB 6.1 have the DWARF2 frame unwinder enabled for DJGPP? Interestingly, it did, at least if my reading of the code is correct. i386-tdep.c from GDB 6.1 says: /* Hook in the DWARF CFI frame unwinder. */ frame_unwind_append_sniffer (gdbarch, dwarf2_frame_sniffer); whereas in current CVS we have this instead: /* Hook in the DWARF CFI frame unwinder. */ dwarf2_append_unwinders (gdbarch); and dwarf2_append_unwinders is simply /* Append the DWARF-2 frame unwinders to GDBARCH's list. */ void dwarf2_append_unwinders (struct gdbarch *gdbarch) { frame_unwind_append_unwinder (gdbarch, &dwarf2_frame_unwind); frame_unwind_append_unwinder (gdbarch, &dwarf2_signal_frame_unwind); } So the only difference, beyond the code changes in the called subroutines, is that in the current code base we also append an unwinder for signal frames. But since DJGPP does not have such frames, that isn't supposed to do any harm, is it? TIA