This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Debug info for 'complex' types
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: George Helffrich +44 117 954 5437 <george at gly dot bris dot ac dot uk>
- Cc: gcc-bugs at gcc dot gnu dot org, gdb at sources dot redhat dot com, law at redhat dot com
- Date: Fri, 1 Feb 2002 10:26:00 -0500
- Subject: Re: Debug info for 'complex' types
- References: <200202011034.g11AYO002233@olivine.geology.bristol.ac.uk>
On Fri, Feb 01, 2002 at 10:34:24AM +0000, George Helffrich +44 117 954 5437 wrote:
> I proposed this change also to fix complex value support in GDB (I use
> g77, gdb and complex arithmetic extensively in my line of work). My base
> version was GDB 4.16. (I can send you patches if you are interested.) After
> studying all stabs documentation I could find (with no particular illumination
> on the issue of complex types), I also compared stabs output from other
> Fortran compilers available to me. Here they are:
>
> >From Solaris 2.7 SC4.2 f77:
>
> .stabs "complex*8:t9=R3;8",32,0,0,0
>
> >From SunOS 4.1.3 f77:
>
> .stabs "complex:t7=r7;8;0;",0x20,0,0,0
>
> and with the patch I proposed for g77 (2.95.2 19991024 release, patched):
>
> .stabs "complex float:t(0,16)=r(0,16);8;0;",128,0,0,0
>
> I think this indicates the length should be 8 for a single precision complex
> value. If you want gdb to even think about supporting Sun Fortran compiler
> stabs (my gdb tries to do so), *don't* withdraw this patch. Tell your users
> to recompile if they want to debug code with complex arithmetic.
No, I'm sorry, that's not acceptable logic. You broke compatibility
with released 2.95.x; 'fixing' GDB for it would break support for that
version of g77.
Also note that the newer of your two compilers above - the Solaris 2.7
package is, I assume, newer - 'R' is used instead of 'r'. That'll be
handled correctly in GDB whatever the outcome of this discussion (or at
least separately).
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer