[debug] Introduce -fno-debug-types-section flag
Mark Wielaard
mjw@redhat.com
Tue Mar 29 10:24:00 GMT 2011
Hi,
Some dwarf consumers (dwarves, systemtap and dwarflint) grok Dwarf V4,
but not yet the new .debug_types section. To make it easier to use these
tools with -gdwarf-4 this patch introduces a new
-fno-debug-types-section flag and guards all code that is type unit
specific with use_debug_types instead of a generic dwarf_version >= 4
flag. IMHO this makes the code also slightly more readable. And it
re-enables the usage of -feliminate-dwarf2-dups with -gdwarf-4. Although
admittedly the value of that is probably pretty low. I found it helpful
in debugging some issues with dwarf consumers and DW_FORM_ref_addr
usage.
2011-03-29 Mark Wielaard <mjw@redhat.com>
* common.opt (fdebug-types-section): New flag.
* doc/invoke.texi: Document new -fno-debug-types-section flag.
* dwarf2out.c (use_debug_types): New define.
(struct die_struct): Mark die_id with GTY desc use_debug_types.
(print_die): Guard output of type unit signatures using
use_debug_types.
(build_abbrev_table): Replace assert of dwarf_version >= 4
with assert on use_debug_types.
(size_of_die): Likewise.
(unmark_dies): Likewise.
(value_format): Decide AT_ref_external form on use_debug_types.
(output_die): Replace dwarf_version version check guard with
use_debug_types where appropriate.
(modified_type_die): Likewise.
(gen_reference_type_die): Likewise.
(dwarf2out_start_source_file): Likewise.
(dwarf2out_end_source_file): Likewise.
(prune_unused_types_walk_attribs): Likewise.
(dwarf2out_finish): Likewise.
Bootstrapped on x86_64 GNU/Linux, no regressions.
Thanks,
Mark
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Introduce-fno-debug-types-section-flag.patch
Type: text/x-patch
Size: 9170 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110329/60e923ac/attachment.bin>
More information about the Gcc-patches
mailing list