Bug 1429389

Summary: gas: Emit name, comp_dir and producer strings in .debug_str.
Product: [Fedora] Fedora Reporter: Mark Wielaard <mjw>
Component: binutilsAssignee: Nick Clifton <nickc>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 26CC: jakub, nickc
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-06 21:19:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1340819    
Attachments:
Description Flags
binutils.spec and gas backport patch none

Description Mark Wielaard 2017-03-06 09:25:17 UTC
Please backport the following commit which helps the Parallel Installable Debuginfo Feature https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo:

commit 49fced1206db40c71208c201165d65f92c69cebe
Author: Mark Wielaard <mark>
Date:   Sun Mar 5 23:37:54 2017 +0100

    gas: Emit name, comp_dir and producer strings in .debug_str.
    
    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.
           * testsuite/gas/aarch64/dwarf.d: Add extra section symbol to
           expected output.

https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=49fced1206db40c71208c201165d65f92c69cebe

Comment 1 Mark Wielaard 2017-03-06 09:28:28 UTC
Created attachment 1260328 [details]
binutils.spec and gas backport patch

Comment 2 Nick Clifton 2017-03-06 12:14:38 UTC
Done.  Please try:

  binutils-2.28-3.fc27 
  binutils-2.27-20.fc26

Comment 3 Mark Wielaard 2017-03-06 21:19:51 UTC
(In reply to Nick Clifton from comment #2)
> Done.  Please try:
> 
>   binutils-2.28-3.fc27 
>   binutils-2.27-20.fc26

Awesome. Both work as intended. Thanks!