From 483620e86f09fcb4bc923c9f4b0c211e10efd334 Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Wed, 24 Dec 2008 06:17:18 +0000 Subject: * gold.cc (gold_exit): Call plugin cleanup handlers on exit. * plugin.cc (Plugin_manager::finish): Rename as layout_deferred_objects. Move cleanup to separate function. (Plugin_manager::cleanup): New function. (Plugin_finish::run): Call layout_deferred_objects and cleanup separately. * plugin.h (Plugin_manager::finish): Rename as layout_deferred_objects. (Plugin_manager::cleanup): New function. (Plugin_manager::cleanup_done): New field. --- gold/gold.cc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gold/gold.cc') diff --git a/gold/gold.cc b/gold/gold.cc index ac321be..8d86a1b 100644 --- a/gold/gold.cc +++ b/gold/gold.cc @@ -50,6 +50,10 @@ const char* program_name; void gold_exit(bool status) { + if (parameters != NULL + && parameters->options_valid() + && parameters->options().has_plugins()) + parameters->options().plugins()->cleanup(); if (!status && parameters != NULL && parameters->options_valid()) unlink_if_ordinary(parameters->options().output_file_name()); exit(status ? EXIT_SUCCESS : EXIT_FAILURE); -- cgit v1.1