Call plugin_call_cleanup on plugin fatal error.
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 6 Dec 2010 05:38:11 +0000 (05:38 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 6 Dec 2010 05:38:11 +0000 (05:38 +0000)
2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/12289
* plugin.c (message): Call plugin_call_cleanup on fatal
error.

ld/ChangeLog
ld/plugin.c

index 63858ee..55e320e 100644 (file)
@@ -1,5 +1,11 @@
 2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>
 
+       PR ld/12289
+       * plugin.c (message): Call plugin_call_cleanup on fatal
+       error.
+
+2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>
+
        * plugin.c (message): Add a space after `:' in error message.
 
 2010-12-05  H.J. Lu  <hongjiu.lu@intel.com>
index 34d76bd..3d7809c 100644 (file)
@@ -590,6 +590,9 @@ message (int level, const char *format, ...)
          char *newfmt = ACONCAT ((level == LDPL_FATAL
                                   ? "%P%F: " : "%P%X: ",
                                   format, "\n", NULL));
+         if (plugin_call_cleanup ())
+           info_msg (_("%P: %s: error in plugin cleanup (ignored)\n"),
+                     plugin_error_plugin ());
          vfinfo (stderr, newfmt, args, TRUE);
        }
       break;