The master branch has been updated by Alan Modra
<amo...@sourceware.org>:

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

commit 7ba115508aa02ffbb01a09613b5dffdd0c6563e3
Author: Alan Modra <amo...@gmail.com>
Date:   Tue Sep 8 13:02:31 2020 +0930

    PR26580, Size and alignment of commons vs as-needed shared lib
    
    Two pieces to this puzzle:
    1) Revert HJ's fix for PR13250 so that size and alignment isn't
       sticky, instead attack the real underlying problem that
       _bfd_generic_link_add_one_symbol does the wrong thing in making a
       common section in a shared library bfd.
    2) Save and restore common u.c.p fields, which hold the section and
       alignment.
    
    A better fix for (2) would be to throw away all of that horrible code
    saving and restoring the hash table when loading as-needed library
    symbols, and instead do a scan over as-needed library symbols before
    adding anything.
    
    bfd/
            PR 13250
            PR 26580
            * elflink.c (_bfd_elf_merge_symbol): Make "override" a bfd**.
            Return oldbfd in override when old common should override new
            common.
            (_bfd_elf_add_default_symbol): Adjust to suit.
            (elf_link_add_object_symbols): Likewise.  Pass "override" to
            _bfd_generic_link_add_one_symbol.  Save and restore common u.c.p
            field for --as-needed shared libraries.  Revert pr13250 changes.
    ld/
            * testsuite/ld-elf/pr26580-a.s,
            * testsuite/ld-elf/pr26580-b.s,
            * testsuite/ld-elf/pr26580-1.sd,
            * testsuite/ld-elf/pr26580-2.sd: New tests
            * testsuite/ld-elf/comm-data.exp: Run new tests.
            * testsuite/ld-elf/pr26580-a.c,
            * testsuite/ld-elf/pr26580-b.c,
            * testsuite/ld-elf/pr26580-3.out,
            * testsuite/ld-elf/pr26580-4.out: New tests.
            * testsuite/ld-elf/shared.exp: Run new tests.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/697229

Title:
  openmpi link failure with ld --as-needed

To manage notifications about this bug go to:
https://bugs.launchpad.net/binutils/+bug/697229/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to