bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/20241] plugin lto + archive: invalid read access might cause SIG


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/20241] plugin lto + archive: invalid read access might cause SIGSEGV
Date: Tue, 14 Jun 2016 05:24:08 +0000

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

--- Comment #6 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=b0cffb47671ffbaac559c1f17a9f248256ea6c42

commit b0cffb47671ffbaac559c1f17a9f248256ea6c42
Author: Alan Modra <address@hidden>
Date:   Tue Jun 14 13:12:00 2016 +0930

    Set my_archive for thin archives

    LTO plugin support in plugin_maybe_claim wants to close the IR bfd
    after replacing it with the recompiled object, but can't do so for
    archive elements due to various pointers that access the archive bfd.
    Thin archives have the same problem.  They too cannot have their
    element bfds closed.

        PR ld/20241
    bfd/
        * archive.c (open_nested_file): Set my_archive.
        * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
        for thin archives.
        * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
        (bfd_seek): Likewise.
        * bfdwin.c (bfd_get_file_window): Likewise.
        * cache.c (cache_bmmap): Likewise.
        (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
        * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
        thin archives.
        * plugin.c (try_claim): Likewise.
        * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
        file within thin archive, not the archive.
    binutils/
        * bucomm.c (bfd_get_archive_filename): Return file name within thin
        archive.
    ld/
        * ldmain.c (add_archive_element): Just print file name of file within
        thin archives.
        * ldmisc.c (vfinfo): Likewise.
        * plugin.c (plugin_object_p): Open file within thin archives.
        (plugin_maybe_claim): Expand comment.

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