bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/17878] Need support on bfd ld for LLVMgold.so plugin


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/17878] Need support on bfd ld for LLVMgold.so plugin
Date: Wed, 11 Feb 2015 13:03:50 +0000

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

--- Comment #5 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 <address@hidden>:

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

commit 5ae0078cd2b6b69e6119864e20987c8724916b29
Author: H.J. Lu <address@hidden>
Date:   Wed Feb 11 05:01:03 2015 -0800

    Merge linker plugin handling into BFD plugin support

    Linker plugin_maybe_claim is the interface of linker plugin support.
    This patch extracts linker plugin_maybe_claim into plugin_object_p and
    makes it available to BFD via a new function:

    void register_ld_plugin_object_p (const bfd_target *(*) (bfd *));

    bfd_plugin_object_p calls plugin_object_p registered by linker first.  It
    adds an enum bfd_plugin_format field and a pointer to plugin dummy BFD so
    that plugin_object_p stores plugin dummy BFD to allow plugin_maybe_claim
    to retrieve it later.

    bfd/

        PR ld/17878
        * bfd.c (bfd_plugin_format): New.
        (bfd): Add plugin_format and plugin_dummy_bfd.
        * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
        argument to return TRUE if any plugin is found.  Set plugin_format.
        (has_plugin): New.
        (bfd_plugin_target_p): New.
        (bfd_plugin_specified_p): Likewise.
        (bfd_plugin_target_p): Likewise.
        (register_ld_plugin_object_p): Likewise.
        (bfd_plugin_set_plugin): Set has_plugin.
        (load_plugin): Cache try_load_plugin result.
        (bfd_plugin_object_p): Try ld_plugin_object_p first.  Check
        plugin_format.
        * plugin.h (bfd_plugin_target_p): New.
        (bfd_plugin_specified_p): Likewise.
        (register_ld_plugin_object_p): Likewise.
        * bfd-in2.h: Regenerated.

    ld/

        PR ld/17878
        * plugin.c: Include ../bfd/plugin.h.
        (plugin_get_ir_dummy_bfd): Call bfd_create with
        link_info.output_bfd instead of srctemplate.  Copy BFD info
        from srctemplate only if it doesn't use BFD plugin target
        vector.
        (plugin_load_plugins): Call register_ld_plugin_object_p with
        (plugin_object_p)
        (plugin_maybe_claim): Renamed to ...
        (plugin_object_p): This.  Return dummy BFD target vector if
        input is calimed by plugin library, otherwise return NULL.
        Update plugin_format and plugin_dummy_bfd.
        (plugin_maybe_claim): New.  Use plugin_object_p.

    xx

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