On Wed, Jan 28, 2015 at 11:19 AM, Richard Biener
<richard.guent...@gmail.com> wrote:
> On January 28, 2015 7:12:43 PM CET, "H.J. Lu" <hongjiu...@intel.com> wrote:
>>Hi,
>>
>>This patch makes claim_file_handler to call release_input_file after it
>>finishes processing input file.  OK for trunk?
>
> OK.  How did you test this?

I did normal bootstrap and "make check" on Linux/x86-64.
I also run ld.bfd and ld.gold by hand to verify that release_input_file
is called.

H.J.
> Thanks,
> Richard.
>
>
>>Thanks.
>>
>>
>>H.J.
>>---
>>diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog
>>index e8ec05b..c0eae24 100644
>>--- a/lto-plugin/ChangeLog
>>+++ b/lto-plugin/ChangeLog
>>@@ -1,3 +1,10 @@
>>+2015-01-28  H.J. Lu  <hongjiu...@intel.com>
>>+
>>+      PR lto/64837
>>+      * lto-plugin.c (release_input_file): New.
>>+      (claim_file_handler): Call release_input_file.
>>+      (onload): Set release_input_file.
>>+
>> 2014-12-09  Ilya Verbin  <ilya.ver...@intel.com>
>>
>>       * lto-plugin.c (offload_files, num_offload_files): New static
>>variables.
>>diff --git a/lto-plugin/lto-plugin.c b/lto-plugin/lto-plugin.c
>>index 8d957402..8e0a657 100644
>>--- a/lto-plugin/lto-plugin.c
>>+++ b/lto-plugin/lto-plugin.c
>>@@ -145,6 +145,7 @@ static ld_plugin_register_all_symbols_read
>>register_all_symbols_read;
>> static ld_plugin_get_symbols get_symbols, get_symbols_v2;
>> static ld_plugin_register_cleanup register_cleanup;
>> static ld_plugin_add_input_file add_input_file;
>>+static ld_plugin_release_input_file release_input_file;
>> static ld_plugin_add_input_library add_input_library;
>> static ld_plugin_message message;
>> static ld_plugin_add_symbols add_symbols;
>>@@ -1006,6 +1007,8 @@ claim_file_handler (const struct
>>ld_plugin_input_file *file, int *claimed)
>>   if (obj.objfile)
>>     simple_object_release_read (obj.objfile);
>>
>>+  release_input_file (file);
>>+
>>   return LDPS_OK;
>> }
>>
>>@@ -1091,6 +1094,9 @@ onload (struct ld_plugin_tv *tv)
>>       case LDPT_ADD_INPUT_FILE:
>>         add_input_file = p->tv_u.tv_add_input_file;
>>         break;
>>+      case LDPT_RELEASE_INPUT_FILE:
>>+        release_input_file = p->tv_u.tv_release_input_file;
>>+        break;
>>       case LDPT_ADD_INPUT_LIBRARY:
>>         add_input_library = p->tv_u.tv_add_input_library;
>>         break;
>
>

Reply via email to