bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/26256] Support mixed SHF_LINK_ORDER & non-SHF_LINK_ORDER compone


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/26256] Support mixed SHF_LINK_ORDER & non-SHF_LINK_ORDER components in an output section
Date: Mon, 04 Jan 2021 20:44:42 +0000

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

--- Comment #16 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by H.J. Lu <hjl@sourceware.org>:

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

commit cd6d537c48fa862e8a5888b648102d7b2330ef81
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jan 4 12:37:49 2021 -0800

    elf: Allow mixed ordered/unordered inputs for non-relocatable link

    For non-relocatable link with SHF_LINK_ORDER inputs, allow mixed indirect
    and data inputs with ordered and unordered inputs:

    1. Add pattern to bfd_section for the matching section name pattern in
    linker script and update BFD_FAKE_SECTION.
    2. Sort the consecutive bfd_indirect_link_order sections with the same
    pattern to allow linker script to overdide input section order.
    3. Place unordered sections before ordered sections.
    4. Change the offsets of the indirect input sections only.

    bfd/

            PR ld/26256
            * elflink.c (compare_link_order): Place unordered sections before
            ordered sections.
            (elf_fixup_link_order): Add a link info argument.  Allow mixed
            ordered and unordered input sections for non-relocatable link.
            Sort the consecutive bfd_indirect_link_order sections with the
            same pattern.  Change the offsets of the bfd_indirect_link_order
            sections only.
            (bfd_elf_final_link): Pass info to elf_fixup_link_order.
            * section.c (bfd_section): Add pattern.
            (BFD_FAKE_SECTION): Initialize pattern to NULL.
            * bfd-in2.h: Regenerated.

    gas/

            PR ld/26256
            * config/obj-elf.c (obj_elf_change_section): Also filter out
            SHF_LINK_ORDER.

    ld/

            PR ld/26256
            * ldlang.c (gc_section_callback): Set pattern.
            * testsuite/ld-elf/pr26256-1.s: New file.
            * testsuite/ld-elf/pr26256-1.t: Likewise.
            * testsuite/ld-elf/pr26256-1a.d: Likewise.
            * testsuite/ld-elf/pr26256-1b.d: Likewise.
            * testsuite/ld-elf/pr26256-2.s: Likewise.
            * testsuite/ld-elf/pr26256-2.t: Likewise.
            * testsuite/ld-elf/pr26256-2a.d: Likewise.
            * testsuite/ld-elf/pr26256-2b-alt.d: Likewise.
            * testsuite/ld-elf/pr26256-2b.d: Likewise.
            * testsuite/ld-elf/pr26256-3.s: Likewise.
            * testsuite/ld-elf/pr26256-3a.d: Likewise.
            * testsuite/ld-elf/pr26256-3a.t: Likewise.
            * testsuite/ld-elf/pr26256-3b.d: Likewise.
            * testsuite/ld-elf/pr26256-3b.t: Likewise.

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