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 <tmsri...@google.com> wrote: > On Mon, Dec 11, 2017 at 2:16 PM, Stephen Crane <s...@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 <tmsri...@google.com> wrote: >>> On Thu, Nov 9, 2017 at 9:04 PM, Cary Coutant <ccout...@gmail.com> wrote: >>>>> include/ChangeLog: >>>>> 2017-11-09 Stephen Crane <s...@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 <s...@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