bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/21167] gas v2.28.51 does not include .rel[a] sections to groups


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gas/21167] gas v2.28.51 does not include .rel[a] sections to groups
Date: Wed, 04 Oct 2017 23:08:55 +0000

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

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Alan Modra <address@hidden>:

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

commit db4677b8bd90b49f826807352c6c3c7eb0d57814
Author: Alan Modra <address@hidden>
Date:   Wed Oct 4 09:53:53 2017 +1030

    PR21167, relocation sections not included in groups

    This fixes a wart I've known about for years, but haven't done
    anything about because BFD treats relocation sections as an adjunct to
    the section they relocate.  SHF_GROUP on the section thus implicitly
    applies to its relocation section(s), but it is an error that the
    reloc sections aren't part of the group.

    Like many patches to gas, this wasn't as straightforward as it could
    be due to a number of backends, i386, cr16 and others, removing relocs
    in tc_get_reloc rather than marking them as "done" earlier in
    md_apply_reloc.  So it isn't possible for the group support to
    reliably detect the presence of relocs by looking at fixups earlier
    than write_relocs.  However the group support needs to create
    signature symbols, and that must be done before the symbol table is
    frozen, before write_relocs.  So split off the group sizing from
    elf_adjust_symtab and put it in elf_frob_file_after_relocs.

    bfd/
        PR 21167
        * elf.c (_bfd_elf_setup_sections): Don't trim reloc sections from
        groups.
        (_bfd_elf_init_reloc_shdr): Pass sec_hdr, use it to copy SHF_GROUP
        flag from section.
        (elf_fake_sections): Adjust calls.  Exit immediately on failure.
        (bfd_elf_set_group_contents): Add associated reloc section indices
        to group contents
    gas/
        PR 21167
        * config/obj-elf.c (struct group_list): Delete elt_count.
        (groups): New static.
        (build_group_lists): Don't count elements.
        (elf_adjust_symtab): Use groups rather than auto list.  Set up
        pointer from group member to SHT_GROUP section.  Don't size
        SHT_GROUP section or clean up here..
        (elf_frob_file_after_relocs): ..do so here instead.
        * testsuite/gas/arc/jli-1.d,
        * testsuite/gas/elf/groupautob.d,
        * testsuite/gas/mips/compact-eh-eb-2.d,
        * testsuite/gas/mips/compact-eh-eb-5.d,
        * testsuite/gas/mips/compact-eh-el-2.d,
        * testsuite/gas/mips/compact-eh-el-5.d: Adjust.
    ld/
        PR 21167
        * testsuite/ld-elf/group9b.d: Adjust for relocs included in group.

-- 
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]