This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix dwarf3 compile_unit debug info
- From: Daniel Jacobowitz <drow at false dot org>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, jakub at redhat dot com
- Date: Thu, 28 Dec 2006 15:57:13 -0500
- Subject: Re: Fix dwarf3 compile_unit debug info
- References: <or7iwdaenp.fsf@redhat.com>
On Wed, Dec 27, 2006 at 07:09:30AM -0200, Alexandre Oliva wrote:
> When the PC range of a compile unit is not contiguous, we emit a
> non-standard DW_AT_entry_pc as an attribute for a compile_unit node in
> dwarf3 debug info, instead of the standard DW_AT_low_pc.
>
> Also, we fail to emit DW_AT_ranges for such a node.
I believe GDB will handle both of these fine, but did you check?
> The ranges probably won't quite work as expected in case of discarded
> sections (.GNU.linkonce, garbage collected or merged), since IIRC
> removed labels will resolve to zero in debug sections, and this will
> make the range list appear to be terminated at that point. I don't
> see any way to avoid this, unfortunately. Any ideas?
I think we'll have no choice but to either (A) put the debug info in a
COMDAT group like we should have done long ago, or (B) teach the linker
how to relax range lists.
--
Daniel Jacobowitz
CodeSourcery