[google gcc-4_8] Remove DW_AT_GNU_addr_base from skeleton type unit DIEs
Doug Evans
dje@google.com
Tue Feb 11 23:58:00 GMT 2014
On Tue, Feb 11, 2014 at 3:55 PM, Cary Coutant <ccoutant@google.com> wrote:
> Remove DW_AT_GNU_addr_base from skeleton type unit DIEs.
>
> GCC currently adds a DW_AT_GNU_addr_base attribute to skeleton type unit
> DIEs, even though it's not needed there. By removing it, we can save
> the 8 bytes that a DW_FORM_addr takes up, plus the 24 bytes that the
> corresponding relocation takes.
>
> This patch is for the google/gcc-4_8 branch. I will submit it
> for trunk when stage 1 is open.
>
> Tested with crosstool_validate.py.
>
>
> 2014-02-11 Cary Coutant <ccoutant@google.com>
>
> * dwarf2out.c (add_top_level_skeleton_die_attrs): Don't add
> DW_AT_GNU_addr_base to all skeleton DIEs.
> (dwarf2out_finish): Add it only to the skeleton comp_unit DIE.
>
>
> Index: dwarf2out.c
> ===================================================================
> --- dwarf2out.c (revision 207671)
> +++ dwarf2out.c (working copy)
> @@ -8918,7 +8918,6 @@ add_top_level_skeleton_die_attrs (dw_die
> if (comp_dir != NULL)
> add_skeleton_AT_string (die, DW_AT_comp_dir, comp_dir);
> add_AT_pubnames (die);
> - add_AT_lineptr (die, DW_AT_GNU_addr_base, debug_addr_section_label);
> }
>
> /* Return the single type-unit die for skeleton type units. */
> @@ -23929,6 +23928,8 @@ dwarf2out_finish (const char *filename)
> skeleton die attrs are added when the skeleton type unit is
> created, so ensure it is created by this point. */
> add_top_level_skeleton_die_attrs (main_comp_unit_die);
> + add_AT_lineptr (main_comp_unit_die, DW_AT_GNU_addr_base,
> + debug_addr_section_label);
> (void) get_skeleton_type_unit ();
> htab_traverse_noresize (debug_str_hash, index_string, &index);
> }
LGTM
More information about the Gcc-patches
mailing list