[PATCH] gas: Emit name, comp_dir and producer strings in .debug_str.

Alan Modra amodra@gmail.com
Sun Mar 5 12:16:00 GMT 2017


On Fri, Mar 03, 2017 at 10:59:27AM +0100, Mark Wielaard wrote:
> Putting the name, comp_dir and producer strings in the .debug_str section
> makes it possible to share them across CUs. This saves a small amount of
> space (about ~20K on a glibc libc.so.6 build with debuginfo). And makes
> it easier for tools like rpm debugedit to adjust the source paths when
> generating separate debuginfo files.
> 
> gas/
>        * dwarf2dbg.c (out_debug_abbrev): Use DW_FORM_strp instead of
>        DW_FORM_string for DW_AT_name, DW_AT_comp_dir and DW_AT_producer.
>        (out_debug_info): Accept symbols to name, comp_dir and producer in
>        the .debug_str section and emit those offsets not full strings.
>        (out_debug_str): New function that outputs the strings for name,
>        comp_dir and producer in .debug_str and generates symbols to those
>        strings.
>        (out_debug_line): Create a .debug_str section if necessary and call
>        out_debug_str before calling out_debug_info.

OK, but please adjust gas/testsuite/gas/aarch64/dwarf.d for this
change.

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list