From 78384e8f7295dbaa04648c6ffcf77441807e5a99 Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Thu, 15 Jul 2010 17:36:23 +0000 Subject: [PATCH] * plugin.cc (Plugin_finish::run): Don't call cleanup handlers from here. --- gold/ChangeLog | 5 +++++ gold/plugin.cc | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index ac910cd15d8..17113fb81e5 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 ba4bd4c1060..76b24314c46 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 -- 2.30.2