bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/16867] linking object with separate debug file results in "reloc


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/16867] linking object with separate debug file results in "relocation .. has invalid symbol index"
Date: Thu, 24 Apr 2014 12:35:16 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=16867

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  93ee1e3683a12f4774b8beb4f821910982e21ce2 (commit)
      from  aaca88efb450bff71523d7d6f23a67f47a4d5fb3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=93ee1e3683a12f4774b8beb4f821910982e21ce2

commit 93ee1e3683a12f4774b8beb4f821910982e21ce2
Author: Alan Modra <address@hidden>
Date:   Thu Apr 24 21:59:56 2014 +0930

    PR16867, linking object with separate debug file

    This teaches the DWARF2 find_line functions how to deal with separate
    debug relocatable object files.  Also fixes a major bug:
    When _bfd_dwarf2_slurp_debug_info was split out, place_sections ran
    after .debug_info was relocated.  This defeated the whole purpose of
    place_sections.  See the comment I added before place_sections.
    Fixes some minor bugs too:
    - place_sections didn't set VMA for alloc but non-load sections (bss).
    - zero size sections can have symbols, so they need their VMA set too.
    - last_vma was incorrectly adjusted.
    - my last change to place_sections left VMA unchanged for .debug_info
      when the linker has mapped input to output sections, but this is
      wrong since bfd_simple_get_relocated_section_contents unmaps debug
      sections.

        PR 16867
        * dwarf2.c: Formatting.
        (struct dwarf2_debug): Make adjusted_section_count signed.
        (unset_sections): Make i signed.
        (set_debug_vma): New function.
        (place_sections): Handle separate debug object file.  Set VMA
        on debug sections, even if they have an output section.  Also
        set VMA on zero size sections, and non-load but alloc sections.
        Set adjusted_section_count to -1 when no section adjustment.
        Malloc adjusted_sections.  Don't double last_vma.  Transfer
        alloc section VMAs to separate debug file.
        (_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections.
        (_bfd_dwarf2_slurp_debug_info): Add do_place parameter.  Drop
        test on symbols being the same before using old stash.  Read
        and use separate debug file symbols.  Call place_sections.
        (find_line): Don't call place_sections here.
        * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto.
        * libbfd.h: Regenerate.
        * mach-o.c (bfd_mach_o_find_nearest_line): Adjust
        _bfd_dwarf2_slurp_debug_info call.
        * simple.c (simple_save_output_info): Clarify comment.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog   |   24 +++++
 bfd/dwarf2.c    |  306 +++++++++++++++++++++++++++++++------------------------
 bfd/libbfd-in.h |    3 +-
 bfd/libbfd.h    |    3 +-
 bfd/mach-o.c    |    3 +-
 bfd/simple.c    |   25 +++--
 6 files changed, 217 insertions(+), 147 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]