This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/19769] [4.0/4.1 Regression] GCC produces wrong dwarf2 output that breaks gdb
- From: "dberlin at dberlin dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Mar 2005 20:28:17 -0000
- Subject: [Bug c++/19769] [4.0/4.1 Regression] GCC produces wrong dwarf2 output that breaks gdb
- References: <20050202233416.19769.dberlin@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dberlin at gcc dot gnu dot org 2005-03-09 20:28 -------
Subject: Re: [4.0/4.1 Regression] GCC produces wrong dwarf2
output that breaks gdb
On Wed, 2005-03-09 at 20:10 +0000, jbuck at gcc dot gnu dot org wrote:
> ------- Additional Comments From jbuck at gcc dot gnu dot org 2005-03-09 20:10 -------
> Severity raised to "critical" since it breaks debugging of all Java programs
> (gdb dies when loading libgcj).
>
Just FYI, there are two possibilities here:
1. Something is lying to the dwarf2 outputter about the origins of
various things, and which are real instances, and which are not,
2. The dwarf2 outputter is ignoring this and making assumptions about
how things relate to each other based on the order they are output in.
Hopefully this bug is #1, and somewhere in the C++ FE.
The fact that the obvious C version doesn't cause a problem makes me
think this may be the case.
It's also theoretically easier to fix.
If it's #2, it will be a serious pain to fix this, because the real fix
is to make the dwarf2 outputter not depend on the order you hand it
decls in order to get correct debug info.
--Dan
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19769