delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2004/12/10/07:48:57

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" <eliz AT gnu DOT org>
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>
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

> From: Andris Pavenis <pavenis AT latnet DOT lv>
> 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?

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019