From: Cary Coutant Date: Thu, 15 Jul 2010 17:36:23 +0000 (+0000) Subject: * plugin.cc (Plugin_finish::run): Don't call cleanup handlers from here. X-Git-Tag: sid-snapshot-20100801~167 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=78384e8f7295dbaa04648c6ffcf77441807e5a99;p=external%2Fbinutils.git * plugin.cc (Plugin_finish::run): Don't call cleanup handlers from here. --- diff --git a/gold/ChangeLog b/gold/ChangeLog index ac910cd..17113fb 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2010-07-15 Cary Coutant + + * plugin.cc (Plugin_finish::run): Don't call cleanup handlers from + here. + 2010-07-14 Ian Lance Taylor * descriptors.cc (Descriptors::open): Report correct name in error diff --git a/gold/plugin.cc b/gold/plugin.cc index ba4bd4c..76b2431 100644 --- a/gold/plugin.cc +++ b/gold/plugin.cc @@ -862,7 +862,10 @@ Sized_pluginobj::do_get_global_symbols() const } // Class Plugin_finish. This task runs after all replacement files have -// been added. It calls each plugin's cleanup handler. +// been added. For now, it's a placeholder for a possible plugin API +// to allow the plugin to release most of its resources. The cleanup +// handlers must be called later, because they can remove the temporary +// object files that are needed until the end of the link. class Plugin_finish : public Task { @@ -892,9 +895,7 @@ class Plugin_finish : public Task void run(Workqueue*) { - Plugin_manager* plugins = parameters->options().plugins(); - gold_assert(plugins != NULL); - plugins->cleanup(); + // We could call early cleanup handlers here. } std::string