X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f Date: Fri, 10 Dec 2004 14:48:35 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: djgpp-workers AT delorie DOT com Message-ID: <01c4deb6$Blat.v2.2.2$b539e160@zahav.net.il> Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=ISO-8859-1 X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 2.2.2 In-reply-to: <200412101102.21274.pavenis@latnet.lv> (message from Andris Pavenis on Fri, 10 Dec 2004 11:02:21 +0200) Subject: Re: Patches to build GDB 6.3 References: <01c4c987$Blat.v2.2.2$52b9e920 AT zahav DOT net DOT il> <200412081212 DOT 27942 DOT pavenis AT latnet DOT lv> <01c4dd4c$Blat.v2.2.2$849c3820 AT zahav DOT net DOT il> <200412101102 DOT 21274 DOT pavenis AT latnet DOT lv> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: Andris Pavenis > Date: Fri, 10 Dec 2004 11:02:21 +0200 > > Register numbering used for call frame was different from one used by > debugger. So it's also for C. However it perhaps causes runtime problem only > with C++ exceptions. That might be an explanation why I never saw the breakage. Can you post a short explaination what is special about C++ exceptions that reveals the problem only there? Do C++ exceptions use some special registers that are unused anywhere else? > Also it breaks backtrace command in new versions of GDB for all > languages. GDB-6.1.1 and earlier versions seemed to work > OK. GDB-6.2 and higher - no more. That's probably because the GDB numbering for BP and SP was changed at some point between 6.1.1 and 6.2. That change was done for all x86 targets, including Cygwin and DJGPP. I agreed to that change only after someone posted a test program an a GDB session transcript to the GDB mailing list that clearly show that the previous numbering was in error, and I was able to reproduce the problem on my machine with the DJGPP port of GDB. So that change was in the right direction; we should not undo it. Let me know if you need help digging up that discussion and testing the code in there with your suggested renumbering. > Register numbering used for DWARF2 debugging information was Ok. This sentence confused me: are the problems we have been discussing present only in non-DWARF2 debug info? Or are you saying that the register numbering in the compiler output was correct, but GDB 6.2 and later interpreted it incorrectly? Sigh. I guess we will need to change something in an incompatible way, and we will need to find the best way to do that. What were our options again?