This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] gas: Emit name, comp_dir and producer strings in .debug_str.
- From: Alan Modra <amodra at gmail dot com>
- To: Mark Wielaard <mark at klomp dot org>
- Cc: binutils at sourceware dot org
- Date: Sun, 5 Mar 2017 22:46:23 +1030
- Subject: Re: [PATCH] gas: Emit name, comp_dir and producer strings in .debug_str.
- Authentication-results: sourceware.org; auth=none
- References: <1488535167-3959-1-git-send-email-mark@klomp.org>
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