This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Incorrect DWARF-2 register numbers on PPC64?
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: Mark Kettenis <kettenis at chello dot nl>
- Cc: gcc-patches at gcc dot gnu dot org, geoffk at desire dot geoffk dot org,cagney at gnu dot org, dje at watson dot ibm dot com, gdb-patches at sources dot redhat dot com,Ulrich dot Weigand at de dot ibm dot com
- Date: Thu, 8 Jan 2004 08:59:07 +1030
- Subject: Re: Incorrect DWARF-2 register numbers on PPC64?
- References: <OFEA5CA921.302AEEB5-ON41256E00.005FB141@de.ibm.com> <200312182258.hBIMwgT25422@makai.watson.ibm.com> <200312201527.hBKFRHgI000712@elgar.kettenis.dyndns.org> <3FF5A069.1040306@gnu.org> <200401022317.i02NHQBR001191@desire.geoffk.org> <20040106152710.GB2533@bubble.modra.org> <200401071743.i07HhAle000811@elgar.kettenis.dyndns.org>
On Wed, Jan 07, 2004 at 06:43:10PM +0100, Mark Kettenis wrote:
> If I read your patch correctly, this fixes normal DWARF 2 debugging
> info to use the official System V register numbers, but lets GCC
> continue to use its own numbering for the Call Frame Info (CFI) in
> both the .eh_frame and .debug_frame sections.
That's correct. hppa, hppa64, iq2000 and ns32k all do the same.
mips and cris also define DWARF_FRAME_REGNUM, but squinting at the code
leads me to believe they will actually use the same register numbers.
> This won't work for GDB
> since it assumes that CFI uses the same register number encoding as
> all the other DWARF 2 debug information.
Hmm, I can see that a debugger might reasonably expect .debug_frame
to have the same numbers. When I wrote the patch, I was concentrating
on .eh_frame rather than .debug_frame, but .debug_frame uses the
.eh_frame numbering. It's a little perplexing that dwarf2out.c does
this, as it means defining DWARF_FRAME_REGNUM to something other
than DBX_REGISTER_NUMBER is useless. DWARF_FRAME_REGNUM ought to
just effect .eh_frame. I'm not keen on trying to untangle dwarf2out.c
though..
--
Alan Modra
IBM OzLabs - Linux Technology Centre