[PATCH] [GOLD] Add plugin API for processing plugin-added input files

Stephen Crane sjc@immunant.com
Tue Dec 12 18:51:00 GMT 2017


Thank you so much. I just added documentation for the new hook to
https://gcc.gnu.org/wiki/whopr/driver so that should finish off this
feature.

I'm happy to fix any bugs that might crop up related to this hook, of
course. I don't follow the binutils list closely, so I apologize in
advance if I miss any issues related to this feature. Just CC me
explicitly and I'll jump on it.

Thanks,
- stephen

On Mon, Dec 11, 2017 at 3:03 PM, Sriraman Tallam <tmsriram@google.com> wrote:
> On Mon, Dec 11, 2017 at 2:16 PM, Stephen Crane <sjc@immunant.com> wrote:
>> Thanks for committing the GCC portion and following up on this. I had
>> been meaning to write and ask. I don't have commit privs for binutils,
>> so either you or Cary will have to commit the binutils patch as well,
>> if it's not too much trouble. I think much has changed to need a
>> rebase?
>
> I just committed your patch.  I had to make one very minor change to
> plugin_new_section_layout.c to compile, move the loop initialization
> declaration outside as that is not allowed on C.  I tested the patch.
>
> Thanks
> Sri
>
>>
>> Thanks,
>> Stephen
>>
>> On Mon, Dec 11, 2017 at 2:10 PM, Sriraman Tallam <tmsriram@google.com> wrote:
>>> On Thu, Nov 9, 2017 at 9:04 PM, Cary Coutant <ccoutant@gmail.com> wrote:
>>>>> include/ChangeLog:
>>>>> 2017-11-09  Stephen Crane  <sjc@immunant.com>
>>>>>
>>>>>         * plugin-api.h: Add new plugin hook to allow processing of input
>>>>>         files added by a plugin.
>>>>>         (ld_plugin_new_input_handler): New funcion hook type.
>>>>>         (ld_plugin_register_new_input): New interface.
>>>>>         (LDPT_REGISTER_NEW_INPUT_HOOK): New enum val.
>>>>>         (tv_register_new_input): New member.
>>>>>
>>>>>
>>>>> gold/ChangeLog:
>>>>> 2017-11-09  Stephen Crane  <sjc@immunant.com>
>>>>>
>>>>>         * plugin.cc (Plugin::load): Include hooks for register_new_input
>>>>>         in transfer vector.
>>>>>         (Plugin::new_input): New function.
>>>>>         (register_new_input): New function.
>>>>>         (Plugin_manager::claim_file): Call Plugin::new_input if in
>>>>>         replacement phase.
>>>>>         * plugin.h (Plugin::set_new_input_handler): New function.
>>>>>         * testsuite/plugin_new_section_layout.c: New plugin to test
>>>>>         new_input plugin API.
>>>>>         * testsuite/plugin_final_layout.sh: Add new input test.
>>>>>         * testsuite/Makefile.am (plugin_layout_new_file): New test case.
>>>>>         * testsuite/Makefile.in: Regenerate.
>>>>
>>>> These are OK. Thanks!
>>>>
>>>> Sri, I'm out of town through 11/18, and won't be able to commit the
>>>> include/ patch to GCC before Stage 1 ends. Can you take care of it?
>>>> (If not, I'll take care of it when I get back -- it was approved
>>>> during Stage 1, so I think it's OK to commit early in Stage 3,
>>>> especially since it's nothing but new declarations.)
>>>
>>> Stephen, I was looking at binutils and realized this patch has not
>>> been committed yet.  I only committed the GCC portion, plugin-api.h.
>>>
>>> Thanks
>>> Sri
>>>
>>>>
>>>> -cary



More information about the Binutils mailing list