diff options
author | Cary Coutant <ccoutant@google.com> | 2010-07-15 17:36:23 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2010-07-15 17:36:23 +0000 |
commit | 78384e8f7295dbaa04648c6ffcf77441807e5a99 (patch) | |
tree | 8ef6477b930441cf3933bb0bbebbcf61a8368b2a /gold/plugin.cc | |
parent | 6e8bd58f83483eae7876138516e0131e82cfa369 (diff) | |
download | gdb-78384e8f7295dbaa04648c6ffcf77441807e5a99.zip gdb-78384e8f7295dbaa04648c6ffcf77441807e5a99.tar.gz gdb-78384e8f7295dbaa04648c6ffcf77441807e5a99.tar.bz2 |
* plugin.cc (Plugin_finish::run): Don't call cleanup handlers from here.
Diffstat (limited to 'gold/plugin.cc')
-rw-r--r-- | gold/plugin.cc | 9 |
1 files changed, 5 insertions, 4 deletions
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<size, big_endian>::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 |