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: Alexandre Oliva <aoliva at redhat dot com>
- To: Geoffrey Keating <geoffk at apple dot com>
- Cc: gcc-patches List <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 05 Jul 2007 02:06:51 -0300
- Subject: Re: Fix dwarf3 compile_unit debug info
- References: <DB0E8B1E-091D-4720-9B7E-843919384D94@apple.com>
On Jul 2, 2007, Geoffrey Keating <geoffk@apple.com> wrote:
>> * dwarf2out.c (dw_ranges_by_label_ref): New typedef.
>> (dw_ranges_struct): Rename block_num to num. Adjust.
>> (dw_ranges_by_label_struct): New.
>> (ranges_by_label, ranges_by_label_allocated,
>> ranges_by_label_in_use): New variables.
>> (add_ranges_num): Factored most of the code out of...
>> (add_ranges): ... this one. Rewrite in terms of the former.
>> (add_ranges_by_labels): New.
>> (output_ranges): Output by-label ranges.
>> (dwarf2out_finish): Output range for multiple-section
>> compile_unit. Output standard DW_AT_low_pc in addition to
>> unexpected DW_AT_entry_pc.
> This is OK. Did you consider writing a testcase for it?
Yes, I actually thought hard of how to do it, but couldn't think of
any portable way. I can't count on hot/cold splitting in general,
even more so because it needs profiling feedback to do anything
whatsoever, and function sections aren't fully portable AFAIK. Any
suggestions?
--
Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member http://www.fsfla.org/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}